2011-12-11 44 views
12

我有这样的正则表达式:/[^a-zA-Z0-9_-]/正则表达式(第一个字符必须为AZ)

我要添加到上面:

  • 第一个字符只能是a-zA-Z

如何我可以做这个正则表达式?

+1

哪种语言?正则表达式的*休息*应该匹配什么?您当前的正则表达式将与任何包含至少一个非字母数字或下划线或连字符的字符串匹配:是您的意图吗? – Johnsyweb

+0

这将用于网站用户名,第一个字符必须从a-zA-Z中选择,用户可以使用a-zA-Z,0-9,_和 - –

回答

26

尝试这样:

^[a-zA-Z][a-zA-Z0-9.,$;]+$ 

说明:

^    Start of line/string. 
[a-zA-Z]   Character is in a-z or A-Z. 
[a-zA-Z0-9.,$;] Alphanumeric or `.` or `,` or `$` or `;`. 
+    One or more of the previous token (change to * for zero or more). 
$    End of line/string. 
+3

这与问题中的正则表达式有很大不同('^'在'[]'里面,不在它之前)。 – Johnsyweb

+1

...但显然是需要的!做得好! – Johnsyweb

6

我认为这也将工作

^[a-zA-Z].* 

如果你想测试只是第一个字符为字母其余的字符串可以是任何东西。

相关问题