python用正則表達式提取/匹配中文漢字
python用正則表達式提取中文
Python re正則匹配中文,其實非常簡單,把中文的unicode字符串轉換成utf-8格式就可以了,然后可以在re中隨意調用
unicode中中文的編碼為/u4e00-/u9fa5,因此正則表達式u”[\u4e00-\u9fa5]+”可以表示一個或者多個中文字符
>>> 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='這里是中文內容'.decode("utf8") >>> news=re.sub(pat,newpat,s) >>> print news
這里是中文內容:123456aa哈哈哈bbcc
python正則如何匹配中文漢字
正則表達式匹配中文漢字,在實際應用中十分常見。
比如:爬蟲網(wǎng)頁文本提取、驗證用戶輸入標準等。
以下面文本字符串為例,匹配出astr這個字符串中的所有漢字。
import re astr = '''aaaaa何時when 杖爾看see南雪snow,我me與梅花plum blossom兩白頭'''
下面介紹兩種方法(本文環(huán)境為python3)
一、使用Unicode編碼來匹配中文
常見的中文Unicode編碼范圍:\u4e00-\u9fa5
實現(xiàn)匹配代碼:re.findall(’[\u4e00-\u9fa5]’, astr)
import re astr = '''aaaaa何時when 杖爾看see南雪snow,我me與梅花plum blossom兩白頭''' res = re.findall('[\u4e00-\u9fa5]', astr) print(res)
匹配結果:
二、直接使用中文漢字實現(xiàn)中文匹配
沒使用過可能還真不知道,中文匹配還可以這樣
實現(xiàn)匹配代碼:re.findall(’[一-龥]’, astr)
import re astr = '''aaaaa何時when 杖爾看see南雪snow,我me與梅花plum blossom兩白頭''' res = re.findall('[一-龥]', astr) print(res)
匹配結果:
注:其實這里“一”對應的Unicode編碼就是“\u4e00”,“龥”(yù)對應的Unicode編碼就是“\u9fa5”。
常見非英文字符Unicode編碼范圍:
u4e00-u9fa5 (中文)
u0800-u4e00 (日文)
uac00-ud7ff(韓文)
總結
到此這篇關于python用正則表達式提取/匹配中文漢字的文章就介紹到這了,更多相關python正則提取匹配中文內容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關文章希望大家以后多多支持腳本之家!
相關文章
Django模板獲取field的verbose_name實例
這篇文章主要介紹了Django模板獲取field的verbose_name實例,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧2020-05-05Python?Pandas多種添加行列數(shù)據(jù)方法總結
在進行數(shù)據(jù)分析時經常需要按照一定條件創(chuàng)建新的數(shù)據(jù)列,然后進行進一步分析,下面這篇文章主要給大家介紹了關于Python?Pandas多種添加行列數(shù)據(jù)方法的相關資料,需要的朋友可以參考下2022-07-07python實現(xiàn)數(shù)值積分的Simpson方法實例分析
這篇文章主要介紹了python實現(xiàn)數(shù)值積分的Simpson方法,實例分析了Python實現(xiàn)積分運算的相關技巧,需要的朋友可以參考下2015-06-06Python文件操作中進行字符串替換的方法(保存到新文件/當前文件)
這篇文章主要介紹了Python文件操作中進行字符串替換的方法(保存到新文件/當前文件) ,本文給大家介紹兩種方法,每種方法給大家介紹的非常詳細,具有一定的參考借鑒價值,需要的朋友可以參考下2019-06-06