python - 查找与 3 个连续元音正则表达式匹配的单词

标签 python regex string findandmodify

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/

相关文章:

java - 当 OR 正则表达式组的两半匹配时,是否定义了将选择哪一个?

java - "=="在 Java 中的字符串连接的情况下

python - 使用OpenCV/cv2比较标记2张图像的差异(附图)

python - Pandas Dataframe 过滤器包含 ('.' ),Python 3.6

python - 将多个空行减少为单个(Python 方式)

php - 正则表达式匹配所有字符和换行符?

java - 从java项目中提取所有字符串

string - Julia : How to convert vector of type string to type numeric (Float64)

python - 在 Python 中打包相邻整数

Python:生成可用于 MySQL 的日期时间字符串