http://regexr.com?32uvo
我目前拥有的:
\b(?=[A-Z\d]{10})(?:[A-Z]*\d){0,2}[A-Z]*\b
这只会匹配长度为10的字符串.我想将其更改为9到10个字符,其中2可以是数字.为什么这不起作用?
\b(?=[A-Z\d]{9,10})(?:[A-Z]*\d){0,2}[A-Z]*\b
AFAIK,{9,10}应该是长度间隔.
解决方法
你很亲密
\b(?=[A-Z\d]{9,10}\b)(?:[A-Z]*\d){0,2}[A-Z]*\b -- |->you missed this
试试吧here
所以这个正则表达式会匹配一个包含9到10个字符的单词[大写和数字],包含1到2个数字
如果你想匹配整个字符串你最好使用^(字符串的开头)和$(字符串的结尾)