您想将单词分成音节,而音节以辅音序列开始,然后以元音结束。
字形:a[iu]|oi|[aeiou]
辅音模式:kh|n[yg]|sy|[bcdfghjklmnpqrstvwxyz]
音节的正则表达式为(?:${consonant})*(?:${vowel})+(?:(?:${consonant})*(?=[^a-zA-Z]|$)|(?>${consonant})(?=(?:${consonant})))?
,但是
英文单词ability的发音为4个音节:a,bi,li,ty
印尼语中单词kekuatan的发音为4个音节:ke,ku,a,tan
这是规则:
这是印度尼西亚的例句
Saya akan menyambutnya di kampung. Kita saling menyayangi untuk minum air teh. menganggap menggertak minggu mencinta
我已经写了这样的正则表达式https://regex101.com/r/At64WO/3
[^aeiou]*[aeiou]+(?:[^aeiou]*$|[^aeiou](?=[^aeiou]))?
和结果
Sa | ya | a | kan | men | yam | but | nya | di | kam | pun | g。 Ki | ta | sa | lin | g men | ya | yan | gi | un | tuk mi | num | 空气 | || men | gan | ggap | men | gger | tak | min | ggu >> | men | cin | ta >> 我希望结果变成(加粗标记)
Sa | ya | a | kan | me | nyam
| but | nya | di | kam | pung。>> | Ki | ta | sa | ling | me | nya | ya | ngi | un | tuk mi | num | a | ir | h。 | me | ngang |差距| meng | ger | tak | ming | gu | men | cin | ta>如果尚未从问题中理解,请发表评论
在英语中,单词capability的发音为4个音节:a,bi,li,ty在印度尼西亚语中对kekuatan单词的发音为4个音节:ke,ku,a,tan这是规则:...] >
您想将单词分成音节,而音节以辅音序列开始,然后以元音结束。
字形:a[iu]|oi|[aeiou]
辅音模式:kh|n[yg]|sy|[bcdfghjklmnpqrstvwxyz]
音节的正则表达式为(?:${consonant})*(?:${vowel})+(?:(?:${consonant})*(?=[^a-zA-Z]|$)|(?>${consonant})(?=(?:${consonant})))?
,但是
(?>${consonant})
)。因此,您需要使用带有捕获组并在其后进行反向引用的正向超前来模拟它((?=(${consonant}))\1
)。这是JS演示:
const text = 'Saya akan menyambutnya di kampung. Kita saling menyayangi untuk minum air teh. menganggap menggertak minggu mencinta'; const consonant = 'kh|n[yg]|sy|[bcdfghjklmnpqrstvwxyz]'; const vowel = 'a[iu]|oi|[aeiou]'; console.log(`(?:${consonant})*(?:${vowel})+(?:(?:${consonant})*(?=[^a-zA-Z]|$)|(?=(${consonant}))\\1(?=(?:${consonant})))?`); const regex = new RegExp(`(?:${consonant})*(?:${vowel})+(?:(?:${consonant})*(?=[^a-zA-Z]|$)|(?=(${consonant}))\\1(?=(?:${consonant})))?`, 'gi'); console.log(text.match(regex));
正则表达式为
/(?:kh|n[yg]|sy|[bcdfghjklmnpqrstvwxyz])*(?:a[iu]|oi|[aeiou])+(?:(?:kh|n[yg]|sy|[bcdfghjklmnpqrstvwxyz])*(?=[^a-zA-Z]|$)|(?=(kh|n[yg]|sy|[bcdfghjklmnpqrstvwxyz]))\1(?=(?:kh|n[yg]|sy|[bcdfghjklmnpqrstvwxyz])))?/gi
请参见regex demo。
您想将单词分成音节,而音节以辅音序列开始,然后以元音结束。
字形:a[iu]|oi|[aeiou]
辅音模式:kh|n[yg]|sy|[bcdfghjklmnpqrstvwxyz]
音节的正则表达式为(?:${consonant})*(?:${vowel})+(?:(?:${consonant})*(?=[^a-zA-Z]|$)|(?>${consonant})(?=(?:${consonant})))?
,但是