python3 re模块怎么抓取中文类型

Python016

python3 re模块怎么抓取中文类型,第1张

Python的re模块里没有直接匹配中文的属性或者方法。

不过可以用re.findall+()来匹配,但是如果数据里面有中英文,那么就得再次匹配了。

例:

test = '<html><head>百度</head></html>'

cont = re.findall(r'<ht.*?head>(.*?)</hea',test)

print(cont)

解决了>>>

a='中文'>>>

a'\xd6\xd0\xce\xc4'>>>

import

re>>>

mytestre=re.compile('\xd6\xd0\xce\xc4')>>>

b='中文asdf223中文ss'>>>

mytestre.sub('zw',b)'zwasdf223zwss'>>>复制代码关键是要找到中文相应coding对应的编码,这里中文='\xd6\xd0\xce\xc4'所以,就用\xd6\xd0\xce\xc4代替中文就可以了,如果是其他编码,也用类似的方法找到编码的字符串就可以了,没测试过,应该是这样的。哈哈。:mrgreen:

建议使用以下正则表达式:

(?<=>)[^a-zA-Z0-9_]+(?=<)

前面的 (?<=>) 和后面的 (?=<) ,使得匹配出现在>. . . <之间;

[^a-zA-Z0-9_]+ 排除对英文数字下划线的匹配,可根据具体情况作变动。