python正则表达式,如果a发生在b之后,则删除a

2024-04-18 17:51:40 发布

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

我想删除文本中出现在元音字符后面的所有点。我该怎么做?你知道吗

这是我希望拥有的代码:

string = re.sub('[aeuio]\.', '[aeuio]', string)

意思是保留你匹配的元音,去掉旁边的“.”。你知道吗


Tags: 代码文本restring字符元音aeuio
1条回答
网友
1楼 · 发布于 2024-04-18 17:51:40

捕捉元音并替换为反向引用:

import re
s = "Se.hi.mo."
s = re.sub(r'([aeuio])\.', r'\1', s)
print(s) # => Sehimo

参见Python demoregex demo。你知道吗

这里,([aeuio])形成了capturing group,而替换模式中的\1是引用捕获到组1中的文本的numbered backreference。你知道吗

注意在反斜杠不构成转义序列的情况下使用原始字符串文字:r'\1'='\\1'。你知道吗

相关问题 更多 >