正则表达式匹配包含字母的字符串和仅下划线

时间:2011-12-02 05:36:29

标签: regex vb.net .net-2.0

我的问题很简单,我希望匹配一个包含以下属性的字符串

  • 没有空格
  • 必须以字母开头
  • 不得包含除下划线以外的任何其他特殊字符
  • 可能包含数字

请帮助创建这样的正则表达式。

2 个答案:

答案 0 :(得分:10)

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

解剖:

  • ^开始行/字符串
  • [a-zA-Z]以字母开头
  • [a-zA-Z0-9_]*后跟零个或多个字母,下划线或数字。
  • $行尾/字符串

如果您需要考虑使用Unicode,那么以下内容可能更为明智:

^\p{L}[\p{L}\p{Nd}_]*$

这不仅匹配ASCII字母和数字,还匹配Unicode支持的所有脚本。数字仅限于十进制数字,因此您不会获得罗马数字。

答案 1 :(得分:1)

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

a-Z - 以字母

开头

\w - 所有字母,数字和下划线