需要正则表达式模式:无法启动w num;除下划线和连字符外没有特殊字符;允许字符/ nums

时间:2011-01-24 14:58:41

标签: regex

最近我得到了:^[-_[a-zA-Z0-9]*$

仍然允许字符串以数字开头。当到处都有资源时,可以问这样的问题。我只是需要快速的东西,并且在查找RegEx时遇到问题。

有效输入示例:Account-Numbers_2010 | NewMoney | test_data | a1B2-c3_d4_5e-6f

输入示例无效:2010_Account_Numbers | New$Money | %test*data | 1aB2

3 个答案:

答案 0 :(得分:7)

这应该成功:

"^[A-Za-z_-][A-Za-z0-9_-]*$"

[A-Za-z_-]表示字母或下划线或连字符 [A-Za-z0-9_-]*是相同的,但也允许数字

所以这将允许字母,下划线,连字符和数字,但开头没有数字。

查看有效的输入示例Account-Numbers_2010 | NewMoney | test_data | a1B2-c3_d4_5e-6f,您可能还想允许空格和|。这个允许他们:

"^[A-Za-z_ |-][A-Za-z0-9_ |-]*$"

这个正确匹配Account-Numbers_2010 | NewMoney | test_data | a1B2-c3_d4_5e-6f而非2010_Account_Numbers | New$Money | %test*data | 1aB2

答案 1 :(得分:4)

正则表达式需要2个部分。第一个字符,然后是其余字符。

^[a-zA-Z_-][a-zA-Z0-9_-]*$

这说:

  

a-zA-Z_-中的任何字符开始。然后按照任何字母数字字符或_-进行操作。

答案 2 :(得分:1)

我希望这会有所帮助

^[a-zA-Z]([a-zA-z0-9_-]){0,}