我正在尝试使用正则表达式使用以下语法来验证电话号码。该数字必须以9开头,之后为9位数字。您能否建议此代码中可能有什么问题?
import re
phn = "9123456789"
res = re.findall("(9)?[0-9]{9}", phn)
print (res)
O/p:
['9']
答案 0 :(得分:2)
?
的意思是“可选”。如果您的电话号码必须以9开头,则不需要?
:
re.findall("9[0-9]{9}", phn)
或者更好:
re.findall(r"9\d{9}", phn)
答案 1 :(得分:0)
这里是您可能会喜欢的a very good webside:它使正则表达式变得容易。
以下是the solution of you problem 9[0-9]{9}
网站的摘要:
答案 2 :(得分:0)
可以使用python库电话号码来验证commonregex提取的电话号码:
import import commonregex
import phonenumbers
phone_list = commonregex.phone.findall(input_string)
for phone in phone_list:
phonenumbers.is_valid_number(phonenumbers.parse(phone, None))
希望对您有帮助。