从文本文件中提取所有类型的电话号码


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 ***

首先添加 *(一个或多个) 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']

最新更新