我需要一个在 python 中工作的正则表达式来搜索 CIS 电话号码。对于手机,我发现了这个正则表达式:
r'(\+7|8|7).*?(\d{3}).*?(\d{3}).*?(\d{2}).*?(\d{2})'
但是它不仅收集电话,还收集各种垃圾83423
,有没有人有更完美的解决方案来收集诸如+7 911 912 92 92或79119129292或8911912 92 92等格式的电话,而只是过滤掉诸如8974353或7942657658794532453等之类的数字集?
根据您附加的测试,这应该有效:
pattern = \b\+?[7,8](\s*\d{3}\s*\d{3}\s*\d{2}\s*\d{2})\b我只选择了数字本身作为第一组,如果你需要得到完全匹配,然后写
.group()