当前位置: 首页 > 知识库问答 >
问题:

正则表达式匹配不是由所有相同号码组成的电话号码

卢伟志
2023-03-14

我需要一个正则表达式,将匹配的电话号码,不是所有的组成相同的数字。我说的是一个10位数的电话号码,看起来像(123)123-1234。我见过一些模式会匹配所有相同的电话,但我试图匹配相反的。

我想到了这个,哦,非常接近,但不完全在那里。

^((\d)(?!\ 1{2})\d{2})(?!\ 1{3})\d{3}-(?!\ 1{4})\d{4}$

唯一失败的地方是当区号都是相同的数字时,其他一切似乎都很好。所以它会在这样的(888)123-1234上失败,但会在(886)123-1234上传递

我怎样才能让它接受最后的坚持?

我见过类似的问题

如何在java中验证电话号码,使其不允许所有相同的数字,如999999999或11111111111

但是这个没有考虑()和-,它也和我想要的相反。

正则表达式连续阻止包含相同数字超过4次的电话号码?

这种方法看起来很有前途,但它不能解释()和-。

共有1个答案

燕烨
2023-03-14

您可以使用这个负前瞻正则表达式

^\((\d)(?!\1{2}\)\1{3}-\1{4}$)\d{2}\)\d{3}-\d{4}$

正则表达式演示

负前瞻(?!\1{2}\)\1{3}-\1{4}$)只有在同一个数字从头到尾重复的情况下才会失败匹配。

 类似资料:
  • 问题内容: 该字符串不应包含SSN或电话号码。下面的正则表达式不起作用,它仅接受xxxxxxxxx格式。 不应包含或或。 问题答案: 您可以尝试: 解释一下,如果我们阅读了您提供的查询: 我们可以读到:( 在我的顶部版本中,我改写为:。)。 保证世界上任何字符串都不匹配其中至少两个,因此它们的组合始终为真,从而为您提供了一个简单得多的有效正则表达式: 是零宽度的断言,因此它不消耗任何东西。即使匹配

  • 本文向大家介绍最新手机号码、电话号码正则表达式,包括了最新手机号码、电话号码正则表达式的使用技巧和注意事项,需要的朋友参考一下 今天开始小编为大家系统整理关于正则表达式的一系列文章,希望大家会喜欢。 首先了解一下正则表达式的概念,正则表达式(regular expression)描述了一种字符串匹配的模式,可以用来检查一个串是否含有某种子串、将匹配的子串做替换或者从某个串中取出符合某个条件的子串等

  • 在注册会员时,经常需要输入电话号码,电话号码是指手机号码或者固定电话。如果输入的内容不合法,则会向用户输出提示。本实例模拟实现电话号码的验证功能,接收用户在控制台输入的电话号码,然后进行判断,并将结果输出。 在这里使用《 Java正则表达式》一节中讲到的正则表达式支持的字符来实现,步骤如下。 (1) 创建名为 Test21.java 的 Java 文件,在 main() 方法中开始编写代码。 (2

  • 我正在修改一个脚本。该脚本包含一个表单,允许访问者向电话号码发送短信。在表单中,我有一个文本框,用户在其中输入文本接收器的电话号码。我正在使用正则表达式验证电话号码,以防止垃圾邮件发送者,并确保用户键入正确的号码。 以下是阿富汗使用的默认电话号码: 正则表达式验证首先应该确保使用93,然后确保在93之后使用78、77、79或700(其中之一),最后是6位数。 下面是我试图修复的Javascript

  • 问题内容: 匹配字符串中的’(’的正则表达式是什么? 以下是场景: 我有一串 我想使用正则表达式拆分字符串。为此,我正在使用 但是我收到以下异常。 转义似乎不起作用。 问题答案: 两种选择: 首先,你可以使用转义 回 斜线- 另外,由于它是单个字符,因此您可以将其放入不需要转义的字符类中-

  • 我正在尝试匹配以下正则表达式: 换句话说,一个单词边界后跟上面的任何字符串(可选地跟一个句点字符),后面跟一个单词边界。 我也在regex101上尝试过这一操作,但与数仍然不匹配:https://regex101.com/r/klkmwl/1 转义符并没有什么区别,我已经尝试使用十六进制转义序列来代替和符(如本问题所建议的)。为什么这不匹配?