Python匹配中文的正則表達式
正則表達式并不是Python的一部分。正則表達式是用于處理字符串的強大工具,擁有自己獨特的語法以及一個獨立的處理引擎,效率上可能不如str自帶的方法,但功能十分強大。得益于這一點,在提供了正則表達式的語言里,正則表達式的語法都是一樣的,區(qū)別只在于不同的編程語言實現(xiàn)支持的語法數(shù)量不同;但不用擔(dān)心,不被支持的語法通常是不常用的部分。
Python正則表達式簡介
正則表達式是一個特殊的字符序列,它能幫助你方便的檢查一個字符串是否與某種模式匹配。
Python 自1.5版本起增加了re 模塊,它提供 Perl 風(fēng)格的正則表達式模式。
re 模塊使 Python 語言擁有全部的正則表達式功能。
compile 函數(shù)根據(jù)一個模式字符串和可選的標(biāo)志參數(shù)生成一個正則表達式對象。該對象擁有一系列方法用于正則表達式匹配和替換。
re 模塊也提供了與這些方法功能完全一致的函數(shù),這些函數(shù)使用一個模式字符串做為它們的第一個參數(shù)。
以上說的都是給正文做鋪墊的,下面看下python正則表達式如何匹配中文的。
# -*- 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")
注:
幾個主要非英文語系字符范圍
2E80~33FFh:中日韓符號區(qū)。收容康熙字典部首、中日韓輔助部首、注音符號、日本假名、韓文音符,中日韓的符號、標(biāo)點、帶圈或帶括符文數(shù)字、月份,以及日本的假名組合、單位、年號、月份、日期、時間等。
3400~4DFFh:中日韓認(rèn)同表意文字?jǐn)U充A區(qū),總計收容6,582個中日韓漢字。
4E00~9FFFh:中日韓認(rèn)同表意文字區(qū),總計收容20,902個中日韓漢字。
A000~A4FFh:彝族文字區(qū),收容中國南方彝族文字和字根。
AC00~D7FFh:韓文拼音組合字區(qū),收容以韓文音符拼成的文字。
F900~FAFFh:中日韓兼容表意文字區(qū),總計收容302個中日韓漢字。
FB00~FFFDh:文字表現(xiàn)形式區(qū),收容組合拉丁文字、希伯來文、阿拉伯文、中日韓直式標(biā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正則表達式匹配中文的方法,希望對大家有所幫助!
相關(guān)文章
python 利用pywifi模塊實現(xiàn)連接網(wǎng)絡(luò)破解wifi密碼實時監(jiān)控網(wǎng)絡(luò)
這篇文章主要介紹了python 利用pywifi模塊實現(xiàn)連接網(wǎng)絡(luò)破解wifi密碼實時監(jiān)控網(wǎng)絡(luò),需要的朋友可以參考下2019-09-09
Python高級應(yīng)用實例對比:高效計算大文件中的最長行的長度
在操作某個很多進程都要頻繁用到的大文件的時候,應(yīng)該盡早釋放文件資源(f.close()),只有這樣才能算是一則高效率的代碼,下面我們就來分析下這3種方法的優(yōu)劣2014-06-06
python實現(xiàn)FTP文件傳輸?shù)姆椒ǎǚ?wù)器端和客戶端)
FTP(File Transfer Protocol,文件傳輸協(xié)議) 是 TCP/IP 協(xié)議組中的協(xié)議之一。接下來通過本文給大家介紹關(guān)于python實現(xiàn)FTP文件傳輸?shù)南嚓P(guān)知識(服務(wù)器端和客戶端) ,需要的朋友可以參考下2020-03-03
python基于multiprocessing的多進程創(chuàng)建方法
這篇文章主要介紹了python基于multiprocessing的多進程創(chuàng)建方法,實例分析了multiprocessing模塊操作進程的相關(guān)技巧,需要的朋友可以參考下2015-06-06
python 解決pycharm運行py文件只有unittest選項的問題
這篇文章主要介紹了python 解決pycharm運行py文件只有unittest選項的問題,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧2020-09-09
CentOS系統(tǒng)上安裝Conda的詳細(xì)指南
Conda 是一個開源的包管理系統(tǒng)和環(huán)境管理系統(tǒng),廣泛應(yīng)用于數(shù)據(jù)科學(xué)和機器學(xué)習(xí)領(lǐng)域,本文將詳細(xì)介紹如何在 CentOS 系統(tǒng)上安裝 Conda吧2025-03-03

