使用python正则表达式进行中文匹配时匹配不出想要的结果?
澳门银河官网
澳门银河官网
当前位置 : 澳门银河官网 > 澳门银河官网

使用python正则表达式进行中文匹配时匹配不出想要的结果?

想用正则表达式提取市的名称,比如吉林省长春市匹配省和市中间的,结果就是吉林,但是代码匹配出来的结果是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
reloadsys
sys.setdefaultencodingutf8


f=codecs.openrC:\Users\ada\Desktop\address.txt,r,utf-8
num=0
while 1:
    line=f.readline
    printline
    city=re.search省.*?市,line,re.S
    printcity
    if not line:
        break
    pass

f.close;

python3 还是 2 ?
如果是2,中文字符串前要加前缀 u


在正则表达式前面加了u之后能匹配出来了,但是匹配返回的结果不是我想要的市的名字,而是类似‘<_sre.SRE_Match object at 0x026009A0>’,请问这是什么意思?
@维那厮

这是search方法返回的 匹配对象。
改为findall方法,可以直接得到匹配结果的列表。

city=re.findallu省.*?市,line,re.S

栏目列表

广告位

澳门银河官网