如何找到有两个元音的单词 如何使用Python正则表达式在字符串中找到两个元音的单词
这是我的代码:如何找到有两个元音的单词 如何使用Python正则表达式在字符串中找到两个元音的单词,python,regex,Python,Regex,这是我的代码: s= "reading a book is great" print(re.findall(r'\b(\w+[aeiyou]+w)\b',s)) 预期输出:[book] 我的输出:[book],[grea]将正则表达式中的+替换为{2},因为+将前一个令牌重复一次或多次,其中{2}将前一个令牌完全重复两次 print(re.findall(r'\b\w[aeiou]{2}\w\b',s)) 用于大写和小写元音 print(re.findall(r'\b\w[aeiouAEI
s= "reading a book is great"
print(re.findall(r'\b(\w+[aeiyou]+w)\b',s))
预期输出:[book]
我的输出:
[book],[grea]
将正则表达式中的+
替换为{2}
,因为+
将前一个令牌重复一次或多次,其中{2}
将前一个令牌完全重复两次
print(re.findall(r'\b\w[aeiou]{2}\w\b',s))
用于大写和小写元音
print(re.findall(r'\b\w[aeiouAEIOU]{2}\w\b',s))
如果您不希望在元音之前或之后存在数字或\uu
,则可以使用[A-Za-z]
而不是\w
。因为\w
也与\u
和数字匹配
print(re.findall(r'\b[A-Za-z][aeiouAEIOU]{2}[A-Za-z]\b',s))
添加不区分大小写的修饰符(?i)
或re.IGNORECASE
,以进行不区分大小写的匹配
print(re.findall(r'(?i)\b[a-z][aeiou]{2}[a-z]\b',s))
一个真正的野兽:这就是为什么他们创建了不区分大小写的修饰符,所以你可以简化模式=)