【发布时间】:2019-02-27 05:09:09
【问题描述】:
我刚刚开始使用 python 的 re 模块,并且正在制作一个可以从大文本文件中取出所有电话号码的正则表达式。 这是一个例子: 号码:02453952568、0245-3952568、(0245)3952568、0245 3952568、3952568。我想要可以检测到所有这些的东西。 到目前为止,这是我的代码:
phoneregex=re.compile(r'((\(\d{4}\))|(d{4}))?(\s)?(-)?(\d{7})')
tpn=phoneregex.findall('(0245)3952568')
print (mzz)
但我得到了一个奇怪的输出:
[('(0245)', '(0245)', '', '', '-', '3952568')]
有什么方法可以提高效率,获得更好的结果或完全更改正则表达式?
PS:抱歉,如果这不够清楚。我想不出任何其他的写法。
【问题讨论】:
-
那么您是否希望它获取所有电话号码并将它们全部转换为普通电话号码?
-
@dangee1705 不,我只是希望它像在文本中一样返回