0

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

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

字符串或空格开头,5 个字母,文字破折号,5 个字母,空格或字符串结尾,不区分大小写。

这会找到一个如下所示的字符串:pejnd-zxdgn

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

我怎么写这个?

编辑: 澄清

应该匹配:pejnd-zxdgn7ejnd-zxdgn

不应匹配7pejnd-zxdgnor 7ejn-zxdgnor p7ejnd-zxdgn

4

2 回答 2

3

只需在[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
于 2013-09-26T19:34:52.613 回答
-1

使用 '\d' 匹配单个数字。

于 2013-09-26T19:37:38.943 回答