2010-04-16 88 views
3

我是新来的正则表达式,只是似乎无法想出解决办法:需要下划线添加到我的正则表达式

'/^[A-Za-z0-9](?:.[A-Za-z0-9]+)$/' 

因为它是正确的,现在它允许点的第一个字符之后的任何时间,我喜欢添加_,以便它们都允许。 谢谢

回答

9

实际上,/^[A-Za-z0-9](?:.[A-Za-z0-9]+)$/允许第一个字母后的任何字符,因为.是一个与任何字符匹配的特殊字符。

使用

/^[A-Za-z0-9](?:[._][A-Za-z0-9]+)$/

内部字符类(由sqaure括号表示),点失去了它的特殊含义。

1
/^[A-Za-z0-9]*(?:[._][A-Za-z0-9]+)*$/ 

在你现在的状态正则表达式将允许任何字符(包括点)。

0
'/^[A-Za-z0-9](?:.[A-Za-z0-9_]+)$/' 

我希望这有助于