84669 人学习
152542 人学习
20005 人学习
5487 人学习
7821 人学习
359900 人学习
3350 人学习
180660 人学习
48569 人学习
18603 人学习
40936 人学习
1549 人学习
1183 人学习
32909 人学习
比如用正则表达式匹配出 shá 这个拼音。 ps:之前说的可能不明确,我用了 “ 比如 ” 两字哈,就是待处理文本里有拼音,但是不知道具体拼音是什么,需要找出这些拼音,待处理文本会有 中文、拼音、符号(,。:之类的),所以请不要回答诸如re.search(u'shá',text) 要正则哈,不是简单固定的字符串。。。
re.search(u'shá',text)
ringa_lee
import re regex = 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,因为默认拼音都是小写,排除了大写。
你是要匹配所有合法的拼音吗?
如果是,你去找个字典的拼音索引,把里边的所有拼音全部 | 到一起就可以了。也只能这样,因为拼音不是根据正则,或者其它某种机械的规则定义出来的。你想不漏又不多就只能这样了,反正也没多少个。
|
雷雷
匹配结果:
['ís', 'à', 'pìnyin', 'abóut', 'shá']
没有匹配第一个Thǐs,因为默认拼音都是小写,排除了大写。
你是要匹配所有合法的拼音吗?
如果是,你去找个字典的拼音索引,把里边的所有拼音全部
|
到一起就可以了。也只能这样,因为拼音不是根据正则,或者其它某种机械的规则定义出来的。你想不漏又不多就只能这样了,反正也没多少个。雷雷