我正在尝试缩小以下正则表达式:
/\b([0-9]{22})\b/
仅匹配不以"91"
开头的22位数字。有人知道怎么做吗?
答案 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/