python使用正则匹配中文

由于这几天要给某人写爬虫程序来抓取一些公司信息到本地,有些网站内容页的标签不全,使用BeautifulSoup模块来抓取的话难度很大,如果能够解决用正则来匹配中文的话就简单多了,找了下相关资料果然有解决办法,贴出来分享给大家使用python re正则匹配中文,其实非常简单,把中文的unicode字符串转换成utf-8格式就可以了,然后可以在re中随意调用将输入的utf-8中文解密为unicode,然后交由python处理.unicode中中文的编码为/u4e00-/u9fa5,因此正则表达式u”[\u4e00-\u9fa5]+”可以表示一个或者多个中文字符

>>> import re>>> s='中文:123456aa哈哈哈bbcc'.decode('utf8')>>> su'\u4e2d\u6587\uff1a123456aa\u54c8\u54c8\u54c8bbcc'>>> print s中文:123456aa哈哈哈bbcc>>> re.match(u"[\u4e00-\u9fa5]+",s)<_sre.SRE_Match object at 0xb77742c0>>>> pat='中文'.decode("utf8")>>> re.search(pat,s)<_sre.SRE_Match object at 0x16a16df0>>>> newpat='这里是中文内容'.decode("utf8")>>> news=re.sub(pat,newpat,s)>>> print news这里是中文内容:123456aa哈哈哈bbcc

下面是我用BeautifulSoup模块时使用中文来匹配的程序段

# -*- coding: utf-8 -*- import sysreload(sys)   sys.setdefaultencoding('utf-8')####在程序的头部要加上上面几行strusername=u'联系人'.decode('utf-8')straddress=u'地   址'.decode('utf-8')for p in company.findAll('p'):        p=u''.join(str(p).decode('utf-8'))        if p.find(strusername)>0:            thep=p.replace('<p>','').replace('</p>','')            username=thep

转载请注明:逝去日子的博客 » python使用正则匹配中文

如此锐气,二十后生有之,六旬男子则更多见。

python使用正则匹配中文

相关文章:

你感兴趣的文章:

标签云: