【发布时间】:2021-12-29 02:27:21
【问题描述】:
我正在尝试匹配出现在英国电话号码中的重复 3 位数组。当具有此模式的组中的 3 个数字相同时,我已经可以得到匹配:
r'(\d)\1{2}'
例如当输入为“07119777777”时,我得到两个匹配项:
<re.Match object; span=(5, 8), match='777'>
<re.Match object; span=(8, 11), match='777'>
但是,当输入类似于“07123123123”时,由于 3 位组内的数字不同,因此我没有匹配项。 是否有正则表达式模式可以将它们识别为匹配项?
【问题讨论】:
-
这个工作
(\d{3})\1+吗? -
几乎!它确实会找到数字不相同的匹配项,例如对于“07590759759”,匹配变为“759759”,但未找到 0 后的“759”作为匹配。此外,尝试将每个 3 位数组作为单独的匹配项,例如“759”和“759”不是“759759”。
-
如果能提前将这些表达为需求就好了。