正则匹配汉语拼音的难点
本帖最后由 马黑黑 于 2023-1-25 12:34 编辑汉语拼音的重要标志是有声调符号的单韵母,以 a 系列为例, āáǎà 都有声调符号,是明显标志,连同其他的 eiou 等系列,可以以此作为识别拼音的主要特征。我们来看几个拼音的例子:
ā
lā
ān
lān
liāng
以上这些,我们只需要找到 ā 这个重要关键字,然后判断其前其后或有或没有其他字母,就能断定这是汉语拼音。针对这类占绝大多数比例的汉语拼音结构,可以用一个正则表达式去匹配:
let reg_py = /*[āáǎàōóǒòēéěèīíǐìūúǔùüǖǘǚǜ]*/gi;
上述JS正则表达式,头尾都有* ,表示拼音的开始部分以及结尾部分,可以是0个或N多个字母;中间较长的一串字符,罗列出全部的标有声调符号的单韵母,它们放在中括号里面,后面没有限制修饰,表示中括号里的这些单韵母出现其中的任意一个。
以上,没什么难度。但,匹配汉语拼音的工作尚未完成。为何?
汉语拼音中,存在一类由轻声韵母组成的结构,比如,“么”字,拼音标为 me,它的写法和英文单词一模一样,这类情况还不少见。
还有一种情形,与轻声韵母有关但又不同于上述情况,有分隔符 ' 的拼音。比如“皮袄”,拼音可记为 pi'ǎo,这里面是两个拼音,pi 和 ǎo,这也给匹配带来麻烦,会被视为一个拼音,处理起来有一定的复杂度。
要区分读轻声的拼音和英文单词,正则表达式无能为力。可以一试的思路是,扩展搜寻读轻声韵母的前后是否是拼音,如果是,则大致上(大概率)构成这一部分的这个韵母是读轻声的韵母。思路而已,没有去尝试,估计不是很容易实现。
初四快乐{:4_176:} 黑黑辛苦。。。。{:4_187:} 小辣椒 发表于 2023-1-25 15:47
黑黑辛苦。。。。
没啥辛苦,这是自己的课题 樵歌 发表于 2023-1-25 14:29
初四快乐
干杯 马黑黑 发表于 2023-1-25 17:54
干杯
接着{:4_176:} 汉语拼音也要匹配?通常书面语里不会出现汉语拼音的吧? āáǎàōóǒòēéěèīíǐìūúǔùüǖǘǚǜ 咋感觉回到小学一年级学习拼音时候了{:4_173:} 红影 发表于 2023-1-25 19:15
āáǎàōóǒòēéěèīíǐìūúǔùüǖǘǚǜ 咋感觉回到小学一年级学习拼音时候了
这个感觉就对了 樵歌 发表于 2023-1-25 18:45
接着
多喝点 马黑黑 发表于 2023-1-25 19:50
这个感觉就对了
好遥远的记忆啊{:4_170:} 红影 发表于 2023-1-25 22:33
好遥远的记忆啊
别小看这个东东,学问可大了去,小时候只懂得跟老师瞎嚷嚷,没能领会其精髓 马黑黑 发表于 2023-1-26 08:50
别小看这个东东,学问可大了去,小时候只懂得跟老师瞎嚷嚷,没能领会其精髓
是啊,小时候的都是死记硬背。 红影 发表于 2023-1-26 22:20
是啊,小时候的都是死记硬背。
开始也只有日此 马黑黑 发表于 2023-1-26 22:29
开始也只有日此
等限制理解了,也用不上了。 红影 发表于 2023-1-26 23:04
等限制理解了,也用不上了。
那不会。都会用的上,只是什么时候 马黑黑 发表于 2023-1-26 23:31
那不会。都会用的上,只是什么时候
到现在饿还都不是理解性的学习,还要等到什么时候{:4_173:} 红影 发表于 2023-1-27 21:12
到现在饿还都不是理解性的学习,还要等到什么时候
什么时候都行 马黑黑 发表于 2023-1-27 22:17
什么时候都行
嗯嗯,慢慢跟在后面学习{:4_204:} 红影 发表于 2023-1-28 18:40
嗯嗯,慢慢跟在后面学习
挺好,不用急,也急不来