字数在9-10个字符之间,其中0-2是数字

时间:2012-11-27 17:22:25

标签: regex

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}应该是长度间隔。

1 个答案:

答案 0 :(得分:2)

你很亲密

 \b(?=[A-Z\d]{9,10}\b)(?:[A-Z]*\d){0,2}[A-Z]*\b
                   --            
                    |->you missed this     

试试here

因此,此正则表达式将匹配包含9到10个字符的单词[大写和数字],其中包含1到2位数


如果你想匹配整个字符串,最好使用^(字符串的开头)和$(字符串的结尾)