在处理文本时经常会匹配中文名或者英文word,python中可以在utf-8编码下方便的进行处理。
中文unicode编码范围[u4e00-u9fa5]
英文字符编码范围[a-zA-Z]
此时匹配连续的中文或者英文就很方便了,例如:
>>> import re
>>> strings = u'中国china美国American'
>>> print strings
中国china美国American
>>> ch_pat = re.compile(ur'[u4e00-u9fa5]+')
>>> en_pat = re.compile('[a-zA-Z]+')
>>> ch_words = ch_pat.findall(strings)
>>> en_words = en_pat.findall(strings)
>>> print ch_words
[u'u4e2du56fd', u'u7f8eu56fd']
>>> print en_words
[u'china', u'American']