你好,我需要一个有效的正则表达式它可以是任何标识符名称,以字母或下划线开头,但可以包含任意数量的字母,下划线和/或数字(所有字母可能是上面的或小写)。 例如,您的正则表达式应该匹配以下文本字符串:“_”,“x2”和“This_is_valid”它不应与这些文本字符串匹配:“2days”或“invalid_variable%”。正则表达式帮助匹配
到目前为止,这是我想出了,但我不认为这是正确的
/^[_\w][^\W]+/
你好,我需要一个有效的正则表达式它可以是任何标识符名称,以字母或下划线开头,但可以包含任意数量的字母,下划线和/或数字(所有字母可能是上面的或小写)。 例如,您的正则表达式应该匹配以下文本字符串:“_”,“x2”和“This_is_valid”它不应与这些文本字符串匹配:“2days”或“invalid_variable%”。正则表达式帮助匹配
到目前为止,这是我想出了,但我不认为这是正确的
/^[_\w][^\W]+/
下面的工作:
/^[_a-zA-Z]\w*$/
始于(^
)的一封信(大写或小写)或下划线([_a-zA-Z]
),然后是任意数量的字母,数字或下划线(\w
)到最后($
)
也许下面的正则表达式:
^[a-zA-Z_]\w*$
如果确定是在一个字符串的开始,那么它很容易
/^(_|[a-zA-Z]).*/
如果它嵌入在更长的字符串,我想它没有太大的坏处,假设它是一个字的开始...
/\s(_|[a-zA-Z]).*/
'。*'会匹配你不想要的东西。 '%','''','#'等 – 2011-05-20 02:01:42
一个字母是'\ pL'。一个数字是'\ d'。但字母是'\ p {Alphabetic}'。这应该足以让你走。 – tchrist 2011-05-20 02:02:15