小編寫這篇文章的一個(gè)主要目的,主要是給大家去做一個(gè)解答,解答的內(nèi)容主要還是python相關(guān)事宜,比如,可以用python正則表達(dá)式去匹配和提取中文漢字,那么,具體的內(nèi)容做法是什么呢?下面就給大家詳細(xì)解答下。
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'u4e2du6587uff1a123456aau54c8u54c8u54c8bbcc' >>>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è)文本提取、驗(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(韓文)
綜上所述,這篇文章就給大家介紹到這里了,希望可以給大家?guī)硪欢◣椭?/p>
文章版權(quán)歸作者所有,未經(jīng)允許請(qǐng)勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。
轉(zhuǎn)載請(qǐng)注明本文地址:http://specialneedsforspecialkids.com/yun/128316.html
預(yù)編譯 import re re1 = re.compile(r元字符 組成的正則規(guī)則) # 元字符下面會(huì)說 re1.方法() # 方法下邊也會(huì)說 元字符: 表示普通字符: . # 除了 外 都可以匹配的到 d # 只匹配 純數(shù)字 0-9 D # 和 d相反, 除了數(shù)字全都匹配 ...
摘要:和均為非負(fù)整數(shù),其中。如果之前至少個(gè)獲取的子表達(dá)式,則為后向引用。 注:本文轉(zhuǎn)自 摘取天上星的博客 PHP常用正則表達(dá)式 ^d+$ //非負(fù)整數(shù)(正整數(shù)+ 0) ^[0-9]*[1-9][0-9]*$ //正整數(shù) ^((-d+)|(0+))$ //非正整數(shù)(負(fù)整數(shù)+ 0) ^-[0-9]*[1-9][0-9]*$ //負(fù)整數(shù) ^-?d+$ //整數(shù) ^d+(.d+)?$ ...
摘要:參考代碼地址四制作字體模板把自己最常接觸的漢字找出來之后,需要制作一套字體模板,這套字體模板的用處是讓手寫漢字后,順利的找到對(duì)應(yīng)的漢字,這里需要依靠第三方網(wǎng)站提供的一些功能。 一、背景 筆者以前在網(wǎng)上看到有民間高手制作字體的相關(guān)事跡,覺得把自己的手寫字用鍵盤敲出來是一件很有意思的事情,所以一直有時(shí)間想制作一套自己的手寫體,前幾天在網(wǎng)上搜索了一下制作字體的方法,發(fā)現(xiàn)技術(shù)上并不是太難,結(jié)合...
摘要:能匹配中的,但不能匹配中的數(shù)量界定符符號(hào)定義是一個(gè)非負(fù)整數(shù)。則等價(jià)于和均為非負(fù)整數(shù),其中。該方法接受一個(gè)正則表達(dá)式作為它的第一個(gè)參數(shù)。是一個(gè)非強(qiáng)制異常類,它表示一個(gè)正則表達(dá)式模式中的語法錯(cuò)誤。 正則表達(dá)式及多語言操作指南 1. 正則表達(dá)式 正則表達(dá)式是對(duì)字符串操作的一種邏輯公式,就是用事先定義好的一些特定字符、及這些特定字符的組合,組成一個(gè)規(guī)則字符串,這個(gè)規(guī)則字符串用來表達(dá)對(duì)字符串的一...
摘要:能匹配中的,但不能匹配中的數(shù)量界定符符號(hào)定義是一個(gè)非負(fù)整數(shù)。則等價(jià)于和均為非負(fù)整數(shù),其中。該方法接受一個(gè)正則表達(dá)式作為它的第一個(gè)參數(shù)。是一個(gè)非強(qiáng)制異常類,它表示一個(gè)正則表達(dá)式模式中的語法錯(cuò)誤。 正則表達(dá)式及多語言操作指南 1. 正則表達(dá)式 正則表達(dá)式是對(duì)字符串操作的一種邏輯公式,就是用事先定義好的一些特定字符、及這些特定字符的組合,組成一個(gè)規(guī)則字符串,這個(gè)規(guī)則字符串用來表達(dá)對(duì)字符串的一...
閱讀 911·2023-01-14 11:38
閱讀 878·2023-01-14 11:04
閱讀 740·2023-01-14 10:48
閱讀 1983·2023-01-14 10:34
閱讀 942·2023-01-14 10:24
閱讀 819·2023-01-14 10:18
閱讀 499·2023-01-14 10:09
閱讀 572·2023-01-14 10:02