Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/date/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 用正则表达式检查相同的连续组_Python_Regex - Fatal编程技术网

Python 用正则表达式检查相同的连续组

Python 用正则表达式检查相同的连续组,python,regex,Python,Regex,我想用一个正则表达式来检测电话号码是否好看。 例如: 以2组3个连续数字结尾的数字(例如32 xx 123) 以相同数字的6倍结尾的数字(例如32 50 11) 以4组连续数字中的3组结束的数字 (例如32 50 12或32 12 12) 以两组连续数字结尾的数字(例如32 50 120) 对于正则表达式,这可能吗?e、 g.您如何在该正则表达式中指出: ([0-9]+)([0-9]{3})([0-9]{3}) 最后两个匹配项必须相同才能成为有效匹配项?使用 ^(?:\d+ )*?((\d

我想用一个正则表达式来检测电话号码是否好看。 例如:

  • 以2组3个连续数字结尾的数字(例如32 xx 123)
  • 以相同数字的6倍结尾的数字(例如32 50 11)
  • 以4组连续数字中的3组结束的数字 (例如32 50 12或32 12 12)
  • 以两组连续数字结尾的数字(例如32 50 120)
对于正则表达式,这可能吗?e、 g.您如何在该正则表达式中指出:

([0-9]+)([0-9]{3})([0-9]{3})
最后两个匹配项必须相同才能成为有效匹配项?

使用

^(?:\d+ )*?((\d{2,3})(?: \2){1,3})$

看。它将匹配字符串开头的任何数字/空格组,然后用一个空格分隔两个或三个数字的重复块
\s
将匹配任何空格,而
\s+
将匹配任何一个或多个空格字符,如果希望有任何空格支持,请替换模式中的空格。

可能使用捕获组?尝试此操作