正则表达式帮助匹配

时间:2011-05-20 01:43:09

标签: regex perl

您好我需要提供一个有效的正则表达式它可以是以字母或下划线开头的任何标识符名称,但可以包含任意数量的字母,下划线和/或数字(所有字母可以是大写或小写) 。 例如,您的正则表达式应与以下文本字符串匹配:“_”,“x2”和“This_is_valid”它不应与这些文本字符串匹配:“2days”或“invalid_variable%”。

到目前为止,这是我想出的,但我不认为这是正确的

/^[_\w][^\W]+/

3 个答案:

答案 0 :(得分:2)

以下内容可行:

/^[_a-zA-Z]\w*$/

以(^)字母(大写或小写)或下划线([_a-zA-Z])开头,后跟任意数量的字母,数字或下划线(\w)到最后($

详细了解Regular Expressions in Perl

答案 1 :(得分:1)

可能是下面的正则表达式:

^[a-zA-Z_]\w*$

答案 2 :(得分:0)

如果识别位于字符串的开头,则很容易

/^(_|[a-zA-Z]).*/

如果它嵌入在一个更长的字符串中,我想它并没有更糟糕,假设它是一个单词的开头......

/\s(_|[a-zA-Z]).*/