我一直在尝试做一个个人项目(project1的一个专门版本,来自Python自动化枯燥的东西,但特别是在我国提取这种格式的电话号码)
可接受的格式为:
手机号码-
(+91或91)可选,可以用括号括起来,也可以不用
后跟可选空格(\s)?后面是10位数字
固定电话号码-
3位区号(\d\d\d)?可选择的
后跟空格或连字符(\s或-)可选
后面是8位数字
带国家代码的固定电话号码-
(+91或91)可选,可以用括号括起来,也可以不用
后跟(\s或-)可选
后跟2位代码(\d\d)
后跟(\s或-)可选
后面是8位数字
我写的剧本是-import re,pyperclip,os,datetime
#Regexes for phone numbers.
cellphone = re.compile(r'((91|+91|\(+91\))?\s?\d{10})')
landline = re.compile(r'((\d{3}|\(d{3}\))?(-|\s)(\d{8}))')
landline_with_countrycode = re.compile(r'((91|+91|\(+91\))(-|\s)(\d{2})(-|\s)?(\d{8}))')
#Taking input from clipboard
text = str(pyperclip.paste())
cell_nums = []
for groups in cellphone.findall(text):
cell_nums.append(groups[0])
ll_nums = []
for groups in cellphone.findall(text):
ll_nums.append(groups[0])
ll_nums_wccode = []
for groups in cellphone.findall(text):
ll_nums_wccode.append(groups[0])
#Sending output to a file that was created on Desktop in folder abswpy named phnumbers.log
file_path = os.path.join("C:","Users","lenovo","Desktop","abswpy","phnumbers.log")
openFile = open(file_path,'a')
now = datetime.datetime.now()
openFile.write('______________________________________________________________________________________________________\n\n')
openFile.write('\n\n As updated on '+str(now)+'\n\n')
openFile.write('---------------------------------------------------------\n')
openFile.write('Cellphone Numbers - \n')
for i in cell_nums:
openFile.write(str(i))
openFile.write('---------------------------------------------------------\n')
openFile.write('Landline Numbers - \n')
for i in ll_nums:
openFile.write(str(i))
for i in ll_nums_wccode:
openFile.write(str(i))
openFile.write('---------------------------------------------------------\n')
openFile.write('Process Completed')
openFile.write('______________________________________________________________________________________________________\n\n')
openFile.close()
print "Numbers extracted if present\n"
代码给出编译时错误-
^{pr2}$
为什么我的表达式计算错误?
提前谢谢你的帮助,我只是个初学者!在