很简单,我正在尝试替换包含子字符串XX的字符串。
import re
def replace_bogus(original, replacement):
bogus = re.compile('[.]*[X][X][.]*')
if bogus.match(original) != None:
original = replacement
return original
if __name__ == "__main__":
teststr = replace_bogus('ABXX0123', '')
print teststr
此代码将打印出ABXX0123。为什么这个正则表达式是错误的,我应该怎么用呢?
因为点(.
)在字符类(即[.]
)内时没有特殊含义。正则表达式与文本不匹配,它返回None
。
如评论中所述,re
模块具有自己的替换方法,即sub
方法。您可以像这样简单地使用它:
import re
p = re.compile(r'XX')
result = re.sub(p, '', 'ABXX0123')
print result // => AB0123
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句