当前位置: 首页 > 面试题库 >

如何形成一个正则表达式来识别变量名的正确声明

融宏伟
2023-03-14
问题内容

我想组成一个正则表达式ro来识别变量名的声明。用户将输入他们想要的字符串作为变量名,程序必须检查该变量是否有效。

  1. 变量名称的第一个字符必须是字母或下划线。它不能以数字开头。
  2. 变量名称中不允许使用逗号和空格。
  3. 变量名称中除下划线外不允许使用其他特殊符号。

我已经努力了整整一天,却找不到正确的一天。


问题答案:

我们要做的第一件事是收集第一个字符的所有有效字符的列表:

[a-zA-Z_$]

然后是其他字符:

[a-zA-Z_$0-9]

我们要匹配整个字符串,并且可以有0个或多个其他字符,因此正则表达式变为:

^[a-zA-Z_$][a-zA-Z_$0-9]*$

我允许在正则表达式的第一个字符(以及美元符号)中使用大写字母,因为这是对 有效性 的测试,而不是对格式正确的变量的测试。(请注意,常量
大写,包括首字母。)



 类似资料:
  • 问题内容: 我有这样的查找声明 它给出了答案。但是我需要某个变量值,而不是那个杂乱的值MT。如何实现呢?谢谢。 更新 我试过像“ /。 ” + searchterm +“ ./ ”无效。 问题答案: 除了使用内联语法创建正则表达式外,还可以使用RegExp对象基于字符串创建一个正则表达式

  • 我有3个正则表达式,但当模式匹配时执行相同的操作,所以我考虑将所有三个表达式合并为一个。我尝试了很多,但无法让“|”I.e”或“在我的正则表达式中工作 regex1:<代码>文本。替换(/([\u00A9-\u3299])/g,函数myFunction(x){…} regex2: regex3: 我试过这样做,但它不起作用regex:

  • 正则表达式是一个特殊的字符序列,用于判断一个字符串是否与我们所设定的字符序列是否匹配,也就是说检查一个字符串是否与某种模式匹配。 Python 自 1.5 版本起增加了re 模块,它提供 Perl 风格的正则表达式模式。re 模块使 Python 语言拥有全部的正则表达式功能。 下面通过实例,一步一步来初步认识正则表达式。 比如在一段字符串中寻找是否含有某个字符或某些字符,通常我们使用内置函数来实

  • 问题内容: 刚刚开始探索正则表达式的“奇迹”。作为一个从试验和错误中学习的人,我真的很努力,因为我的试验抛出了不成比例的错误……我的实验是在PHP中使用ereg()进行的。 无论如何。我分别使用名字和姓氏,但现在使用相同的正则表达式。到目前为止,我有: 任何以大写字母开头且其余仅包含字母(大写或不大写)的长度字符串。但是我分崩离析的地方是在几乎任何地方都可能发生的特殊情况下。 连字符(Worthi

  • 如何简化这个正则呢? 或者是否有其他实现方式(正则)?

  • 问题内容: 是的,您没看错。我需要能够从正则表达式 生成 随机文本的内容。因此,文本应该是随机的,但要与正则表达式匹配。看来它不存在,但我可能是错的。 仅举一个例子:该库将能够以“ ”作为输入,并生成诸如以下示例: abc abbbc bac 等等 更新:我自己创建了一些东西:Xeger。查看http://code.google.com/p/xeger/。 问题答案: 我刚刚创建了一个库来进行此操