我刚刚开始使用正则表达式。
我正在尝试搜索“短语”的简短列表,以查找英国的手机号码(以+44或07开头,有时将数字分成一个空格)。我无法让它返回以+44开始的数字。
这是我写的:
for snippet in phrases:
match = re.search("\\b(\+44|07)\\d+\\s?\\d+\\b", snippet)
if match:
numbers.append(match)
print(match)
哪个打印
<_sre.SRE_Match object; span=(19, 31), match='07700 900432'>
<_sre.SRE_Match object; span=(20, 31), match='07700930710'>
却漏掉了“短语”中的+44770090999这个数字。
我尝试了带括号或不带括号的情况。如果没有括号,它也会以+ 10 + 44 = 54之类的总和打印出+44。+44之前的反斜杠是否必要?关于我所缺少的东西有什么想法吗?
谢谢大家!
编辑:我的一些输入:
phrases = ["You can call me on 07700 900432.",
"My mobile number is 07700930710",
"My date of birth is 07.08.92",
"Why not phone me on 202-555-0136?"
"There are around 7600000000 people on Earth",
"If you're from overseas, call +44 7700 900190",
"Try calling +447700900999 now!",
"56+44=100."]
哆啦的时光机
慕尼黑8549860
相关分类