我编写了一个程序,该程序可以查找和计算德语和西班牙语文本中的初始辅音簇。我想要一个能在最终位置上找到簇的正则表达式。使用\ 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/