正則表達式 - 請問用 Python 如何匹配漢語拼音?
問題描述
比如用正則表達式匹配出 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)
匹配結(jié)果:[’ís’, ’à’, ’pìnyin’, ’abóut’, ’shá’]沒有匹配第一個Thǐs,因為默認拼音都是小寫,排除了大寫。
回答2:你是要匹配所有合法的拼音嗎?
如果是,你去找個字典的拼音索引,把里邊的所有拼音全部 | 到一起就可以了。也只能這樣,因為拼音不是根據(jù)正則,或者其它某種機械的規(guī)則定義出來的。你想不漏又不多就只能這樣了,反正也沒多少個。
回答3:>>> import re>>> d=’shá’>>> data=’This is a pinyin about shá’>>> re.search(d,data)<_sre.SRE_Match at 0x404e308>
相關文章:
1. 關于docker下的nginx壓力測試2. docker - 各位電腦上有多少個容器啊?容器一多,自己都搞混了,咋辦呢?3. mac里的docker如何命令行開啟呢?4. 關docker hub上有些鏡像的tag被標記““This image has vulnerabilities””5. nignx - docker內(nèi)nginx 80端口被占用6. docker容器呢SSH為什么連不通呢?7. dockerfile - 我用docker build的時候出現(xiàn)下邊問題 麻煩幫我看一下8. docker-compose 為何找不到配置文件?9. docker start -a dockername 老是卡住,什么情況?10. angular.js使用$resource服務把數(shù)據(jù)存入mongodb的問題。

網(wǎng)公網(wǎng)安備