>我目前有这个正则表达式:
/(^| )[a-z]{5}-[a-z]{5}( |$)/i
文字短划线,5 个字母,空格或字符串结尾,不区分大小写。
这将找到如下所示的字符串:pejnd-zxdgn
我需要只允许第一个字母是数字而不是字母。
我怎么写这个?
编辑:澄清
应匹配:pejnd-zxdgn
或7ejnd-zxdgn
不应匹配 7pejnd-zxdgn
或 7ejn-zxdgn
或 p7ejnd-zxdgn
只需在[a-z]
部分之前添加一个数字模式。并将量词更改为{4}
:
/(^| )[0-9][a-z]{4}-[0-9][a-z]{4}( |$)/i
<小时 />更新后,您只希望第一个字符是数字或字符。此外,您可以使用单词边界 - 'b
开头和结尾,如注释中所述。因此,将您的正则表达式更改为:
/'b[a-z0-9][a-z]{4}-[a-z]{5}'b/i