文章詳情頁
正則表達式 - 請問用 Python 如何匹配漢語拼音?
瀏覽:105日期:2022-06-30 09:24:43
問題描述
比如用正則表達式匹配出 shá 這個拼音。 ps:之前說的可能不明確,我用了 “ 比如 ” 兩字哈,就是待處理文本里有拼音,但是不知道具體拼音是什么,需要找出這些拼音,待處理文本會有 中文、拼音、符號(,。:之類的),所以請不要回答諸如re.search(u’shá’,text) 要正則哈,不是簡單固定的字符串。。。
問題解答
回答1:import reregex = re.compile(r’b[a-z]*[āáǎàōóǒòêēéěèīíǐìūúǔùǖǘǚǜüńň?ɑɡ]+[a-z]*b’)text = 'Thǐs ís à pìnyin abóut shá'm = regex.findall(text)print(m)
匹配結果:[’ís’, ’à’, ’pìnyin’, ’abóut’, ’shá’]沒有匹配第一個Thǐs,因為默認拼音都是小寫,排除了大寫。
回答2:你是要匹配所有合法的拼音嗎?
如果是,你去找個字典的拼音索引,把里邊的所有拼音全部 | 到一起就可以了。也只能這樣,因為拼音不是根據正則,或者其它某種機械的規則定義出來的。你想不漏又不多就只能這樣了,反正也沒多少個。
回答3:>>> import re>>> d=’shá’>>> data=’This is a pinyin about shá’>>> re.search(d,data)<_sre.SRE_Match at 0x404e308>
相關文章:
1. Docker for Mac 創建的dnsmasq容器連不上/不工作的問題2. docker安裝后出現Cannot connect to the Docker daemon.3. css - 定位為absolute的父元素中的子元素 如何設置在父元素的下面?4. javascript - angualr2中emit觸發一個方法然后怎么獲得這個promise的結果5. java - 請問在main方法中寫成對象名.屬性()并賦值,與直接參參數賦值輸錯誤是什么原因?6. mysql里的大表用mycat做水平拆分,是不是要先手動分好,再配置mycat7. java - Spring boot 讀取 放在 jar 包外的,log4j 配置文件,系統有創建日志文件,不寫入日志信息。8. javascript - 圖片鏈接請求一直是pending狀態,導致頁面崩潰,怎么解決?9. python - beautifulsoup獲取網頁內容的問題10. 怎么用css截取字符?
排行榜
