正则表达式允许在 5 个字母组的开头使用 1 位数字


Regular expression to allow 1 digit at beginning of 5 letter group

>我目前有这个正则表达式:

/(^| )[a-z]{5}-[a-z]{5}( |$)/i

字符串或空格的开头,5 个字母,

文字短划线,5 个字母,空格或字符串结尾,不区分大小写。

这将找到如下所示的字符串:pejnd-zxdgn

我需要只允许第一个字母是数字而不是字母。

我怎么写这个?

编辑:澄清

应匹配:pejnd-zxdgn7ejnd-zxdgn

不应匹配 7pejnd-zxdgn7ejn-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