正則表達(dá)式 - 請(qǐng)問(wèn)用 Python 如何匹配漢語(yǔ)拼音?
問(wèn)題描述
比如用正則表達(dá)式匹配出 shá 這個(gè)拼音。 ps:之前說(shuō)的可能不明確,我用了 “ 比如 ” 兩字哈,就是待處理文本里有拼音,但是不知道具體拼音是什么,需要找出這些拼音,待處理文本會(huì)有 中文、拼音、符號(hào)(,。:之類(lèi)的),所以請(qǐng)不要回答諸如re.search(u’shá’,text) 要正則哈,不是簡(jiǎn)單固定的字符串。。。
問(wèn)題解答
回答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á’]沒(méi)有匹配第一個(gè)Thǐs,因?yàn)槟J(rèn)拼音都是小寫(xiě),排除了大寫(xiě)。
回答2:你是要匹配所有合法的拼音嗎?
如果是,你去找個(gè)字典的拼音索引,把里邊的所有拼音全部 | 到一起就可以了。也只能這樣,因?yàn)槠匆舨皇歉鶕?jù)正則,或者其它某種機(jī)械的規(guī)則定義出來(lái)的。你想不漏又不多就只能這樣了,反正也沒(méi)多少個(gè)。
回答3:>>> import re>>> d=’shá’>>> data=’This is a pinyin about shá’>>> re.search(d,data)<_sre.SRE_Match at 0x404e308>
相關(guān)文章:
1. matplotlib - python函數(shù)的問(wèn)題2. javascript - history.replaceState()無(wú)法改變query參數(shù)3. java - 是否類(lèi) 類(lèi)型指針、引用作為形參 ,函數(shù)結(jié)束不會(huì)自動(dòng)析構(gòu)類(lèi)?4. angular.js - angular ng-class里面的引號(hào)問(wèn)題5. 在mac下出現(xiàn)了兩個(gè)docker環(huán)境6. mysql無(wú)法添加外鍵7. html - vue項(xiàng)目中用到了elementUI問(wèn)題8. javascript - react 中綁定事件和阻止事件冒泡9. JavaScript事件10. javascript - es6將類(lèi)數(shù)組轉(zhuǎn)化成數(shù)組的問(wèn)題
