使用正则表达式进行字符串替换

时间:2016-08-17 01:33:31

标签: 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')

但是,如果不使用循环迭代所有可能的组合,我仍然坚持如何实现这种替换?

2 个答案:

答案 0 :(得分:2)

您可以使用re.sub

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

答案 1 :(得分:1)

re.sub(r'[aeo]h[aeo]','h',a)怎么样?