Regex to match string containing letters and only underscore
好了,我的问题很简单,我想用以下属性匹配一个字符串
- 没有空格
- 必须以字母开头
- 除下划线外,不得包含其他任何特殊字符
- 可能包含数字
请帮助创建这样的正则表达式。
1 | ^[a-zA-Z][a-zA-Z0-9_]*$ |
剖析:
-
^ 行/字符串的开始 -
[a-zA-Z] 以字母开头 -
[a-zA-Z0-9_]* ,后跟零个或多个字母,下划线或数字。 -
$ 行尾/字符串
如果您需要考虑使用Unicode,那么以下内容可能更为理智:
1 | ^\\p{L}[\\p{L}\\p{Nd}_]*$ |
这不仅会匹配ASCII字母和数字,而且会匹配Unicode支持的所有脚本。 数字仅限于十进制数字,因此您不会得到罗马数字。
1 | /^[a-zA-Z]\\w*$/ |