python怎么用正则表达式提取中文

Python013

python怎么用正则表达式提取中文,第1张

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

一、NLTK进行分词

用到的函数:

nltk.sent_tokenize(text) #对文本按照句子进行分割

nltk.word_tokenize(sent) #对句子进行分词

二、NLTK进行词性标注

用到的函数:

nltk.pos_tag(tokens)#tokens是句子分词后的结果,同样是句子级的标注

三、NLTK进行命名实体识别(NER)

用到的函数:

nltk.ne_chunk(tags)#tags是句子词性标注后的结果,同样是句子级

上例中,有两个命名实体,一个是Xi,这个应该是PER,被错误识别为GPE了; 另一个事China,被正确识别为GPE。

四、句法分析

nltk没有好的parser,推荐使用stanfordparser

但是nltk有很好的树类,该类用list实现

可以利用stanfordparser的输出构建一棵python的句法树