从文本文件

时间:2017-11-29 19:49:02

标签: python python-3.x web-scraping

def extract_phone_numbers(string):
    r= re.compile("\+?\d[\( -]?\d{3}[\) -]?\d{3}[ -]?\d{2}[ -]?\d{2}")
    phone_numbers = re.findall(r, string)
    return phone_numbers

我提取的数字如+919835089 ***,09835089 ***,9835089 ***然后工作正常,但当我把+ 91-9835089 ***打印1-9835089 ***

1 个答案:

答案 0 :(得分:1)

在第一个*

之后添加\d(一个或多个)
string = "+91983508233, 09835089456, 9835089555, +91-9835089444"
r= re.compile("\+?\d*[\( -]?\d{3}[\) -]?\d{3}[ -]?\d{2}[ -]?\d{2}")
phone_numbers = re.findall(r, string)
print(phone_numbers)

['+91983508233', ' 0983508945', ' 9835089555', '+91-9835089444']