我编写了一个程序,用于查找和计算德语和西班牙语文本中的初始辅音簇。我想要一个能在最终位置找到簇的正则表达式。使用\ b或$不起作用。有人可以帮我确定如何更改我的正则表达式,以便它可以用于最终辅音群集吗?
我目前对初始集群有这样的感觉:
for w in words:
initial = re.search('^([^aeiouy]*)[aeiouy]',w)
或者像这样:
initial = re.search('^[^aeiouy]{2,}',w)
您似乎想要在字符串的末尾提取2个或更多辅音字母的块。
你可以用
(?:(?![aeiou])[a-z]){2,}$
细节
(?:
- 非捕获组的开始:
(?![aeiou])
- 如果下一个字符是元音,则表示未通过匹配的负面预测
[a-z]
- 一个ASCII字母(不区分大小写的模式可以用re.I
标志设置)){2,}
- 小组结束,2次或更多次发生$
- 字符串的结尾。