在包含正则表达式的字符串中查找两个相同字符

2024-09-22 20:38:19 发布

您现在位置:Python中文网/ 问答频道 /正文

这是关于我在here之前问过的一个问题

我收到了这个问题的解决方案,但最终需要为这个特定部分使用regex。在

我需要一个正则表达式来搜索并替换一行中两个元音的实例,因此“toke”中的“oo”或“bees”中的“ee”并将其替换为被替换的字母和:。在

预期行为的一些示例:

"took"应该变成{}

"waaeek"应该变成{}

"raaag"应该变成{}

谢谢你的帮助。在


Tags: 实例示例here字母解决方案eeregexoo
3条回答

不应做的事: 如前所述,这将匹配任何两个元音。留下这个答案作为不该做什么的例子。正确的答案(在本例中)是使用许多其他答案中提到的反向引用。在

import re

data = ["took","waaeek","raaag"]

for s in data:
  print re.sub(r'([aeiou]){2}',r'\1:',s)

这正好匹配集合[aeiou]中任何成员的两次{2}。并将其替换为元音,用parens()捕获,并用\1后跟“:”放在子字符串中

输出:

^{pr2}$

搜索([aeiou])\1,并将其替换为\1:

我不知道python,但是您应该能够使用/([aeiou])\1/gi之类的东西使regex不区分大小写并且是全局的

试试这个:

re.sub(r'([aeiou])\1', r'\1:', str)

相关问题 更多 >