python正则匹配汉字

Python018

python正则匹配汉字,第1张

#python2使用如下即可:

# encoding: UTF-8 

import re 

import sys

reload(sys)

sys.setdefaultencoding('utf-8')

 

def extract_number(input):

    match = re.search(u"[\u4e00-\u9fa5]+", input)

    return match.group()

if __name__ == "__main__":

    print extract_number(unicode("dss2第三季度建安大sdssd43fds",'utf8'))

    

    

    

#python3使用如下:

# encoding: UTF-8 

import re 

def extract_number(input):

    match = re.search("[\u4e00-\u9fa5]+", input)

    return match.group()

if __name__ == "__main__":

    print (extract_number("dss2第三季度建安大sdssd43fds"))

Python re正则匹配中文,其实非常简单,把中文的unicode字符串转换成utf-8格式就可以了,然后可以在re中随意调用

unicode中中文的编码为/u4e00-/u9fa5,因此正则表达式u”[\u4e00-\u9fa5]+”可以表示一个或者多个中文字符

>>>import re

>>>s='中文:123456aa哈哈哈bbcc'.decode('utf8')

>>>s

u'\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

from:http://blog.aizhet.com/web/12078.html