pax*_*blo 10
这应该适用于任何正则表达式(RE)引擎.PCRE世界中有一个更好的语法,但我更喜欢我能在任何地方运行:
^[A-Za-z][A-Za-z0-9]*$
Run Code Online (Sandbox Code Playgroud)
基本上,第一个字符必须是alpha,然后是零个或多个alpha-numerics.开始和结束标签用于确保整条线匹配.如果没有这些,你可以匹配AB12的的"@@@AB12!!!"字符串.
完整说明:
^ start tag.
[A-Za-z] any one of the upper/lower case letters.
[A-Za-z0-9] any one of the upper/lower case letters or digits,
* repeated zero or more times.
$ end tag
Run Code Online (Sandbox Code Playgroud)
更新:
正如Richard Szalay正确指出的那样,这只是ASCII(或者更准确地说,是AZ,az和0-9组连续的任何编码方案),仅适用于"英文"字母.
如果你想要真正的国际化RE(只有你知道这是否是一个要求),你需要使用一个更合适的RE引擎,例如上面提到的PCRE,并确保它是为Unicode模式编译的.然后你可以使用"字符",如\p{L}和\p{N}分别为字母和数字.我认为在这种情况下RE将是:
^\p{L}[\pL\pN]*$
Run Code Online (Sandbox Code Playgroud)
但我不确定.我从来没有将RE用于我们的国际化软件.请参阅此处了解有关PCRE的更多信息.