文章詳情頁
正則表達式 - 請問用 Python 如何匹配漢語拼音?
瀏覽:112日期: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>
相關文章:
排行榜
