正則表達式并不是Python的一部分。正則表達式是用于處理字符串的強大工具,擁有自己獨特的語法以及一個獨立的處理引擎,效率上可能不如str自帶的方法,但功能十分強大。得益于這一點,在提供了正則表達式的語言里,正則表達式的語法都是一樣的,區別只在于不同的編程語言實現支持的語法數量不同;但不用擔心,不被支持的語法通常是不常用的部分。
Python正則表達式簡介
正則表達式是一個特殊的字符序列,它能幫助你方便的檢查一個字符串是否與某種模式匹配。
Python 自1.5版本起增加了re 模塊,它提供 Perl 風格的正則表達式模式。
re 模塊使 Python 語言擁有全部的正則表達式功能。
compile 函數根據一個模式字符串和可選的標志參數生成一個正則表達式對象。該對象擁有一系列方法用于正則表達式匹配和替換。
re 模塊也提供了與這些方法功能完全一致的函數,這些函數使用一個模式字符串做為它們的第一個參數。
以上說的都是給正文做鋪墊的,下面看下python正則表達式如何匹配中文的。
# -*- coding: utf-8 -*-import redef findPart(regex, text, name):res=re.findall(regex, text)if res:print "There are %d %s parts:/n"% (len(res), name)for r in res:print "/t",r.encode("utf8")printtext ="#who#helloworld#a中文x#"usample=unicode(text,'utf8')findPart(u"#[/w/u2E80-/u9FFF]+#", usample, "unicode chinese") 注:
幾個主要非英文語系字符范圍
2E80~33FFh:中日韓符號區。收容康熙字典部首、中日韓輔助部首、注音符號、日本假名、韓文音符,中日韓的符號、標點、帶圈或帶括符文數字、月份,以及日本的假名組合、單位、年號、月份、日期、時間等。
3400~4DFFh:中日韓認同表意文字擴充A區,總計收容6,582個中日韓漢字。
4E00~9FFFh:中日韓認同表意文字區,總計收容20,902個中日韓漢字。
A000~A4FFh:彝族文字區,收容中國南方彝族文字和字根。
AC00~D7FFh:韓文拼音組合字區,收容以韓文音符拼成的文字。
F900~FAFFh:中日韓兼容表意文字區,總計收容302個中日韓漢字。
FB00~FFFDh:文字表現形式區,收容組合拉丁文字、希伯來文、阿拉伯文、中日韓直式標點、小符號、半角符號、全角
(#!/usr/bin/python3# -*- coding: UTF-8 -*-import remessage = u'天人合一'.encode('utf8')print(re.search(u'人'.encode('utf8'), message).group())交互模式下的例子>>> import re>>> s='Phone No. 010-87654321'>>> >>> r=re.compile(r'(/d+)-(/d+)')>>> m=r.search(s)>>> m<_sre.SRE_Match object at 0x010EE218>) 以上所述是小編給大家介紹的Python正則表達式匹配中文的方法,希望對大家有所幫助!



















