Python匹配中文的正則表達(dá)式
正則表達(dá)式并不是Python的一部分。正則表達(dá)式是用于處理字符串的強(qiáng)大工具,擁有自己獨(dú)特的語(yǔ)法以及一個(gè)獨(dú)立的處理引擎,效率上可能不如str自帶的方法,但功能十分強(qiáng)大。得益于這一點(diǎn),在提供了正則表達(dá)式的語(yǔ)言里,正則表達(dá)式的語(yǔ)法都是一樣的,區(qū)別只在于不同的編程語(yǔ)言實(shí)現(xiàn)支持的語(yǔ)法數(shù)量不同;但不用擔(dān)心,不被支持的語(yǔ)法通常是不常用的部分。
Python正則表達(dá)式簡(jiǎn)介
正則表達(dá)式是一個(gè)特殊的字符序列,它能幫助你方便的檢查一個(gè)字符串是否與某種模式匹配。
Python 自1.5版本起增加了re 模塊,它提供 Perl 風(fēng)格的正則表達(dá)式模式。
re 模塊使 Python 語(yǔ)言擁有全部的正則表達(dá)式功能。
compile 函數(shù)根據(jù)一個(gè)模式字符串和可選的標(biāo)志參數(shù)生成一個(gè)正則表達(dá)式對(duì)象。該對(duì)象擁有一系列方法用于正則表達(dá)式匹配和替換。
re 模塊也提供了與這些方法功能完全一致的函數(shù),這些函數(shù)使用一個(gè)模式字符串做為它們的第一個(gè)參數(shù)。
以上說的都是給正文做鋪墊的,下面看下python正則表達(dá)式如何匹配中文的。
# -*- coding: utf-8 -*- import re def 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") print text ="#who#helloworld#a中文x#" usample=unicode(text,'utf8') findPart(u"#[\w\u2E80-\u9FFF]+#", usample, "unicode chinese")
注:
幾個(gè)主要非英文語(yǔ)系字符范圍
2E80~33FFh:中日韓符號(hào)區(qū)。收容康熙字典部首、中日韓輔助部首、注音符號(hào)、日本假名、韓文音符,中日韓的符號(hào)、標(biāo)點(diǎn)、帶圈或帶括符文數(shù)字、月份,以及日本的假名組合、單位、年號(hào)、月份、日期、時(shí)間等。
3400~4DFFh:中日韓認(rèn)同表意文字?jǐn)U充A區(qū),總計(jì)收容6,582個(gè)中日韓漢字。
4E00~9FFFh:中日韓認(rèn)同表意文字區(qū),總計(jì)收容20,902個(gè)中日韓漢字。
A000~A4FFh:彝族文字區(qū),收容中國(guó)南方彝族文字和字根。
AC00~D7FFh:韓文拼音組合字區(qū),收容以韓文音符拼成的文字。
F900~FAFFh:中日韓兼容表意文字區(qū),總計(jì)收容302個(gè)中日韓漢字。
FB00~FFFDh:文字表現(xiàn)形式區(qū),收容組合拉丁文字、希伯來文、阿拉伯文、中日韓直式標(biāo)點(diǎn)、小符號(hào)、半角符號(hào)、全角
( #!/usr/bin/python3 # -*- coding: UTF-8 -*- import re message = 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正則表達(dá)式匹配中文的方法,希望對(duì)大家有所幫助!
相關(guān)文章
對(duì)python .txt文件讀取及數(shù)據(jù)處理方法總結(jié)
下面小編就為大家分享一篇對(duì)python .txt文件讀取及數(shù)據(jù)處理方法總結(jié),具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過來看看吧2018-04-04使用Python編寫類UNIX系統(tǒng)的命令行工具的教程
這篇文章主要介紹了使用Python編寫類UNIX系統(tǒng)的命令行工具的教程,本文來自于IBM官方網(wǎng)站技術(shù)文檔,需要的朋友可以參考下2015-04-04python 執(zhí)行終端/控制臺(tái)命令的例子
今天小編就為大家分享一篇python 執(zhí)行終端/控制臺(tái)命令的例子,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過來看看吧2019-07-07django項(xiàng)目中使用手機(jī)號(hào)登錄的實(shí)例代碼
這篇文章主要介紹了django項(xiàng)目中使用手機(jī)號(hào)登錄的實(shí)例代碼,非常不錯(cuò),具有一定的參考借鑒價(jià)值 ,需要的朋友可以參考下2019-08-08python中?OpenCV和Pillow處理圖像操作及時(shí)間對(duì)比
這篇文章主要介紹了python中OpenCV和Pillow處理圖像操作及時(shí)間對(duì)比,文章圍繞主題展開詳細(xì)的內(nèi)容介紹,具有一定的參考價(jià)值,需要的小伙伴可以參考一下2022-09-09python用match()函數(shù)爬數(shù)據(jù)方法詳解
在本篇文章里小編給大家整理了關(guān)于python用match()函數(shù)爬數(shù)據(jù)方法以及相關(guān)知識(shí)點(diǎn),需要的朋友們學(xué)習(xí)下。2019-07-07pycharm 復(fù)制代碼出現(xiàn)空格的解決方式
這篇文章主要介紹了pycharm 復(fù)制代碼出現(xiàn)空格的解決方式,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過來看看吧2021-01-01