text = "Life is beautiful"
pattern = r"[aeiou]{3,}"
result = re.findall(pattern, text)
print(result)
期望的结果:
['美丽']
我得到的输出:
['eau']
我试过谷歌搜索等……我找到了多个答案,但没有一个有效!! 我是正则表达式的新手,所以也许我遇到了问题,但我不确定如何解决这个问题
我已经尝试使用 r"\b[abcde]{3,}\b"
仍然没有所以请帮助!!
最佳答案
您的正则表达式仅捕获 3 个连续的元音,因此您需要扩展它以捕获单词的其余部分。这可以通过查找两个分词之间的字母序列并对序列中的 3 个连续元音使用正向先行来完成。例如:
import re
text = "Life is beautiful"
pattern = r"\b(?=[a-z]*[aeiou]{3})[a-z]+\b"
result = re.findall(pattern, text, re.I)
print(result)
输出:
['beautiful']
关于python - 查找与 3 个连续元音正则表达式匹配的单词,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/62077928/