列出德语中的词尾辅音群

Listing word final consonants cluster in German

我写了一个程序来查找和计算德语和西班牙语文本中的初始辅音簇。我想要一个可以在最终位置上找到簇的正则表达式。使用 \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 次或更多次
  • $ - 字符串结尾。