Python 使用正则表达式的字符串替换
我用python编写了这个字符串Python 使用正则表达式的字符串替换,python,regex,Python,Regex,我用python编写了这个字符串 a = "haha" result = "hh" 我想要实现的是使用正则表达式将所有出现的“aha”替换为“h”,将所有出现的“oho”替换为“h”,将所有出现的“ehe”替换为“h” “h”只是一个例子。基本上,我想保留中心人物。换句话说,如果是“eae”,我希望它改为“a” 我的正则表达式就是这个 "aha|oho|ehe" 我想过这样做 import re reg = re.compile('aha|oho|ehe') 然而,我一直在思考如何在不使
a = "haha"
result = "hh"
我想要实现的是使用正则表达式将所有出现的“aha”替换为“h”,将所有出现的“oho”替换为“h”,将所有出现的“ehe”替换为“h”
“h”只是一个例子。基本上,我想保留中心人物。换句话说,如果是“eae”,我希望它改为“a”
我的正则表达式就是这个
"aha|oho|ehe"
我想过这样做
import re
reg = re.compile('aha|oho|ehe')
然而,我一直在思考如何在不使用循环迭代所有可能的组合的情况下实现这种替换?关于re.sub(r'[aeo]h[aeo]','h',a)
?关于re.sub(r'[aeo]h[aeo]','h',a)
你可以使用:
您可以使用:
使用reg.sub()方法使用reg.sub()方法这还将替换诸如“aho”和“eha”之类的字符串。这可以替换诸如
aho
之类的其他模式。在这种情况下,您可能希望使用反向引用,即re.sub(r'([aeo])h\1',h',s)
我更新了我的问题,将其替换为一个任意字符,这也将替换诸如“aho”和“eha”之类的字符串。这可以替换其他模式,例如aho
。在这种情况下,您可能希望使用反向引用,即re.sub(r'([aeo])h\1',h',s)
我更新了我的问题,将其替换为任意字符
import re
print re.sub('aha|oho|ehe', 'h', 'haha') # hh
print re.sub('aha|oho|ehe', 'h', 'hoho') # hh
print re.sub('aha|oho|ehe', 'h', 'hehe') # hh
print re.sub('aha|oho|ehe', 'h', 'hehehahoho') # hhhahh