我编写了一个程序,该程序可以查找和计算德语和西班牙语文本中的初始辅音簇。我想要一个能在最终位置上找到簇的正则表达式。使用\ b或$不起作用。有人可以帮助我确定我应该如何更改我的正则表达式,以便它可用于最终的辅音词组?

我目前对于初始集群有这样的东西:

for w in words:
    initial = re.search('^([^aeiouy]*)[aeiouy]',w)


或者像这样:

 initial = re.search('^[^aeiouy]{2,}',w)

最佳答案

您似乎想在字符串末尾提取2个或更多辅音字母的块。

您可以使用

(?:(?![aeiou])[a-z]){2,}$


请参见regex demo

细节


(?:-非捕获组的开始:


(?![aeiou])-如果下一个字符是元音,则匹配失败的否定超前
[a-z]-ASCII字母(不区分大小写的模式可以通过re.I标志设置)

){2,}-组结束,出现2次以上
$-字符串结尾。

关于python - 列出德语单词的最终辅音簇,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/55070540/

10-12 17:04