我想regex这样它接受任何9位数字除了123456789和987654321 [复制]

smdncfj3  于 2022-11-26  发布在  其他
关注(0)|答案(2)|浏览(116)

此问题在此处已有答案

Regex: match everything but a specific pattern(5个答案)
6天前关闭。
可接受的输入:任何9位数字
不可接受:123456789987654321
我正在使用[0-9]{9},但我也想要额外的条件

abithluo

abithluo1#

试试看:

^(?!123456789|987654321)\d{9}$

Regex demo.
^-字符串开头
(?!123456789|987654321)-如果找到123456789987654321,则不继续匹配
\d{9}-匹配9位数字
$-字符串结尾

dced5bon

dced5bon2#

我建议,因为只有两个例外,你写正则表达式来确认它是一个9位数的数字,然后对你提到的两个边缘情况进行特殊处理。这在技术上没有挑战性,但代码更容易阅读。

相关问题