小编Bra*_*cer的帖子

正则表达式 (Python) - 匹配具有两个或多个不同元音的单词

我试图匹配包含两个或多个不同元音的字符串中的单词。问题可以限制为小写。

string = '游泳池磅脊髓灰质炎爸爸挑选对'

预期结果:

磅, 脊髓灰质炎, 对

pool 和 papa 会失败,因为它们只包含一个不同的元音。但是,小儿麻痹症很好,因为即使它包含两个 'o',它也包含两个不同的元音('i' 和 'o')。密西西比会失败,但阿尔伯克基会通过)。

思考过程:使用环顾四周,大概五次(忽略大写),用括号括起来,然后是 {2}。就像是:

re.findall(r'\w*((?=a{1})|(?=e{1})|(?=i{1})|(?=o{1})|(?=u{1})){2}\w*', string)
Run Code Online (Sandbox Code Playgroud)

但是,这与所有六个单词都匹配。

我杀死了 {1},这使它更漂亮({1} 似乎是不必要的),但它仍然返回所有六个:

re.findall(r'\w*((?=a)|(?=e)|(?=i)|(?=o)|(?=u))\w*', string)
Run Code Online (Sandbox Code Playgroud)

在此先感谢您的帮助。我检查了其他查询,包括“如何找到带有两个元音的单词”,但似乎没有一个足够接近。另外,我正在寻找纯正则表达式。

python regex

3
推荐指数
1
解决办法
1808
查看次数

标签 统计

python ×1

regex ×1