gpt4 book ai didi

Python 正则表达式不返回电话号码

转载 作者:行者123 更新时间:2023-11-30 23:00:23 24 4
gpt4 key购买 nike

给出以下代码:

import re

file_object = open("all-OANC.txt", "r")
file_text = file_object.read()

pattern = "(\+?1-)?(\()?[0-9]{3}(\))?(-|.)[0-9]{3}(-|.)[0-9]{4}"

for match in re.findall(pattern, file_text):
print match

我得到的输出像这样延伸:

('', '', '', '-', '-')
('', '', '', '-', '-')
('', '', '', '-', '-')
('', '', '', '-', '-')
('', '', '', '-', '-')
('', '', '', '-', '-')
('', '', '', '-', '-')
('', '', '', '-', '-')
('', '', '', '-', '-')

我正在尝试查找电话号码,并且我百分百确定文件中包含电话号码。例如,当我在在线小程序中搜索数字时,使用相同的表达式,我会得到匹配项。

下面是在 python 外部找到表达式的代码片段:

“纸上石板”,我们的Slate 的特殊格式打印版本通过电子邮件发送给读者周五中午左右。也可以从我们的网站下载地点。这些服务是免费的。 《纸上石板》的实际纸质版本可以邮寄给您(调用 800-555-4995),但这要花钱并且可能需要一段时间几天后就能到达。”

我希望输出至少能够识别数字的存在

最佳答案

正在显示的是您的捕获组。显示整场比赛:

text = '''"Slate on Paper," our specially formatted print-out version of Slate, is e-mailed to readers Friday around midday. It also can be downloaded from our site. Those services are free. An actual paper edition of "Slate on Paper" can be mailed to you (call 800-555-4995), but that costs money and can take a few days to arrive."'''

pattern = "(\+?1-)?(\()?[0-9]{3}(\))?(-|.)[0-9]{3}(-|.)[0-9]{4}"

for match in re.finditer(pattern,text):
print(match.group())

输出:

800-555-4995

关于Python 正则表达式不返回电话号码,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35305432/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com