2024-09-22 20:38:19 发布
网友
这是关于我在here之前问过的一个问题
我收到了这个问题的解决方案,但最终需要为这个特定部分使用regex。在
我需要一个正则表达式来搜索并替换一行中两个元音的实例,因此“toke”中的“oo”或“bees”中的“ee”并将其替换为被替换的字母和:。在
:
预期行为的一些示例:
"took"应该变成{}
"took"
"waaeek"应该变成{}
"waaeek"
"raaag"应该变成{}
"raaag"
谢谢你的帮助。在
不应做的事: 如前所述,这将匹配任何两个元音。留下这个答案作为不该做什么的例子。正确的答案(在本例中)是使用许多其他答案中提到的反向引用。在
import re data = ["took","waaeek","raaag"] for s in data: print re.sub(r'([aeiou]){2}',r'\1:',s)
这正好匹配集合[aeiou]中任何成员的两次{2}。并将其替换为元音,用parens()捕获,并用\1后跟“:”放在子字符串中
输出:
搜索([aeiou])\1,并将其替换为\1:
([aeiou])\1
\1:
我不知道python,但是您应该能够使用/([aeiou])\1/gi之类的东西使regex不区分大小写并且是全局的
/([aeiou])\1/gi
试试这个:
re.sub(r'([aeiou])\1', r'\1:', str)
不应做的事: 如前所述,这将匹配任何两个元音。留下这个答案作为不该做什么的例子。正确的答案(在本例中)是使用许多其他答案中提到的反向引用。在
这正好匹配集合[aeiou]中任何成员的两次{2}。并将其替换为元音,用parens()捕获,并用\1后跟“:”放在子字符串中
输出:
^{pr2}$搜索
([aeiou])\1
,并将其替换为\1:
我不知道python,但是您应该能够使用
/([aeiou])\1/gi
之类的东西使regex不区分大小写并且是全局的试试这个:
相关问题 更多 >
编程相关推荐