python用正則表達(dá)式提取/匹配中文漢字
python用正則表達(dá)式提取中文
Python re正則匹配中文,其實(shí)非常簡(jiǎn)單,把中文的unicode字符串轉(zhuǎn)換成utf-8格式就可以了,然后可以在re中隨意調(diào)用
unicode中中文的編碼為/u4e00-/u9fa5,因此正則表達(dá)式u”[\u4e00-\u9fa5]+”可以表示一個(gè)或者多個(gè)中文字符
>>> 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='這里是中文內(nèi)容'.decode("utf8")
>>> news=re.sub(pat,newpat,s)
>>> print news這里是中文內(nèi)容:123456aa哈哈哈bbcc
python正則如何匹配中文漢字
正則表達(dá)式匹配中文漢字,在實(shí)際應(yīng)用中十分常見。
比如:爬蟲網(wǎng)頁文本提取、驗(yàn)證用戶輸入標(biāo)準(zhǔn)等。
以下面文本字符串為例,匹配出astr這個(gè)字符串中的所有漢字。
import re astr = '''aaaaa何時(shí)when 杖爾看see南雪snow,我me與梅花plum blossom兩白頭'''
下面介紹兩種方法(本文環(huán)境為python3)
一、使用Unicode編碼來匹配中文
常見的中文Unicode編碼范圍:\u4e00-\u9fa5
實(shí)現(xiàn)匹配代碼:re.findall(’[\u4e00-\u9fa5]’, astr)
import re
astr = '''aaaaa何時(shí)when 杖爾看see南雪snow,我me與梅花plum blossom兩白頭'''
res = re.findall('[\u4e00-\u9fa5]', astr)
print(res)
匹配結(jié)果:

二、直接使用中文漢字實(shí)現(xiàn)中文匹配
沒使用過可能還真不知道,中文匹配還可以這樣
實(shí)現(xiàn)匹配代碼:re.findall(’[一-龥]’, astr)
import re
astr = '''aaaaa何時(shí)when 杖爾看see南雪snow,我me與梅花plum blossom兩白頭'''
res = re.findall('[一-龥]', astr)
print(res)
匹配結(jié)果:

注:其實(shí)這里“一”對(duì)應(yīng)的Unicode編碼就是“\u4e00”,“龥”(yù)對(duì)應(yīng)的Unicode編碼就是“\u9fa5”。
常見非英文字符Unicode編碼范圍:
u4e00-u9fa5 (中文)
u0800-u4e00 (日文)
uac00-ud7ff(韓文)
總結(jié)
到此這篇關(guān)于python用正則表達(dá)式提取/匹配中文漢字的文章就介紹到這了,更多相關(guān)python正則提取匹配中文內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
python實(shí)現(xiàn)Excel多行多列的轉(zhuǎn)換的示例
本文主要介紹了python實(shí)現(xiàn)Excel多行多列的轉(zhuǎn)換的示例,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2023-03-03
Python實(shí)現(xiàn)模擬時(shí)鐘代碼推薦
本文給大家匯總介紹了下使用Python實(shí)現(xiàn)模擬時(shí)鐘的代碼,一共3個(gè)例子,后兩個(gè)是基于QT實(shí)現(xiàn),有需要的小伙伴可以參考下2015-11-11
tensorflow2.0與tensorflow1.0的性能區(qū)別介紹
今天小編就為大家分享一篇tensorflow2.0與tensorflow1.0的性能區(qū)別介紹,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過來看看吧2020-02-02
Python圖片轉(zhuǎn)換成矩陣,矩陣數(shù)據(jù)轉(zhuǎn)換成圖片的實(shí)例
今天小編就為大家分享一篇Python圖片轉(zhuǎn)換成矩陣,矩陣數(shù)據(jù)轉(zhuǎn)換成圖片的實(shí)例,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過來看看吧2018-07-07
Ubuntu下Python+Flask分分鐘搭建自己的服務(wù)器教程
今天小編就為大家分享一篇Ubuntu下Python+Flask分分鐘搭建自己的服務(wù)器教程,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過來看看吧2019-11-11
python中sklearn庫predict及python sklearn linearmodel(
Scikit-learn(sklearn)是機(jī)器學(xué)習(xí)中常用的第三方模塊,對(duì)常用的機(jī)器學(xué)習(xí)方法進(jìn)行了封裝,包括回歸(Regression)、降維(Dimensionality Reduction)、分類(Classfication)、聚類(Clustering)等方法,今天小編給大家分享python中sklearn庫predict的問題,感興趣的朋友一起看看吧2024-02-02
解決anaconda安裝pytorch報(bào)錯(cuò)找不到包的問題
這篇文章主要介紹了解決anaconda安裝pytorch報(bào)錯(cuò)找不到包的問題,本文給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2023-03-03

