正则表达式字符串,用于查找不以91开头的数字

时间:2011-05-18 05:02:03

标签: regex

我正在尝试缩小以下正则表达式:

/\b([0-9]{22})\b/

仅匹配不以"91"开头的22位数字。有人知道怎么做吗?

2 个答案:

答案 0 :(得分:6)

如果您的正则表达式引擎有zero width negative lookahead,那么:

/\b((?!91)[0-9]{22})\b/

(?!91)只有在接下来的两个字符不是91时才会匹配模式,但不会消耗这些字符,而是让它们与[0-9]{22}匹配。

许多正则表达式引擎也允许\d表示十进制数字。如果你的话,那么:

/\b((?!91)\d{22})\b/

答案 1 :(得分:2)

试试这个:

/\b(?:[0-8][0-9]|9[02-9])[0-9]{20}\b/