正则表达式模式找到最长的元音序列

时间:2017-10-03 19:58:12

标签: python regex pattern-matching

我的下面代码用于定位元音的第一个匹配,在本例中为'ua',但如何将正则表达式配置为1)搜索整个字符串,然后在第一个查找结束,2)一次完成步骤1,确定所有模式中哪一个显示元音的最长并发?

import re
s = "quality"
matches = re.search(r"[aeiou]+", s)
matchlist = matches.group().split(', ')
print(len(matchlist))

1 个答案:

答案 0 :(得分:2)

抓住所有比赛,然后找到最长的比赛:

import re
s = "quality"
matches = re.findall(r"[aeiou]+", s) # Finds all chunks of vowel letters
print(max(matches, key=len))         # Gets the longest item in the list
# => ua

请参阅Python demo