想用正则表达式提取市的名称,比如吉林省长春市匹配省和市中间的,结果就是吉林,但是代码匹配出来的结果是None,大神快告诉我为什么~
文本是txt文件,如下格式:
1 浙江省新昌县羽林街道江北路4号
2 扬州市广陵区杭集镇曙光路
3 浙江省临海市花园工业区
4 重庆市渝北区人和星光大道69号
5 广东省珠海市香洲区唐家湾镇金凤路1号
6 浙江省绍兴市柯桥区鉴湖路1809号
7 新乡市华兰大道甲1号
8 深圳市南山区深南大道9988号
9 江苏省无锡市惠山区洛社镇洛藕路288号
10 杭州市萧山经济技术开发区
11 浙江省诸暨市店口工业区
12 浙江省遂昌县凯恩路1008号
# -*- coding:UTF-8 -*-
import codecs
import re
import sys
reload(sys)
sys.setdefaultencoding('utf8')
f=codecs.open(r'C:\Users\ada\Desktop\address.txt','r','utf-8')
num=0
while 1:
line=f.readline()
print(line)
city=re.search('省(.*?)市',line,re.S)
print(city)
if not line:
break
pass
f.close();
python3 还是 2 ?
如果是2,中文字符串前要加前缀
u
这是
search
方法返回的 匹配对象。改为
findall
方法,可以直接得到匹配结果的列表。