我如何检查这些双重正则表达式
Posted
技术标签:
【中文标题】我如何检查这些双重正则表达式【英文标题】:How can I check these double Regex 【发布时间】:2019-04-14 06:26:20 【问题描述】:我想检查电话号码是否有 8 位数字并且不是以零开头。我为此使用了^[1-9][0-9]7
这个模式,我还想检查这8个数字是否像11111111
或77777777
一样完全重复,为此我使用这个模式:(\w)\17,
,分别检查数字是否'不匹配。
现在我想将这些 Regex 模式组合在一起,但我不能。我尝试以这种方式组合这些模式:
(?=([1-9][0-9]7))(?:(?!(\w17,)))
但不幸的是它不起作用。
请注意,我必须使用一种 Regex 模式,并且需要将这两种模式合并为一个。
谁能帮帮我?
【问题讨论】:
【参考方案1】:这只是您需要检查的第一个字符,它看起来像 - 在一个组中捕获它,然后对该组重复 7 次使用负前瞻,以确保整个字符串不是完全相同的数字,然后以\d7
匹配其他 7 位数字:
^([1-9])(?!\17)\d7$
https://regex101.com/r/DbTtAJ/1
(注意[0-9]
简化为\d
)
【讨论】:
以上是关于我如何检查这些双重正则表达式的主要内容,如果未能解决你的问题,请参考以下文章