只要不在HTML标记内,我怎样才能进行模式匹配?
以下是我的尝试.任何人都有更好/不同的方法?
import re inputstr = 'mary had a little loomb' rx = re.compile('[aob]') repl = 'x' outputstr = '' i = 0 for astr in re.compile(r'(<[^>]*>)').split(inputstr): i = 1 - i if i: astr = re.sub(rx, repl, astr) outputstr += astr print outputstr
输出:
mxry hxd x little lxxmx
笔记:
匹配HTML标签的<[^>]*>模式显然存在缺陷 - 我快速写了这个并没有考虑引用属性中尖括号的可能性(例如'' ).它也不考虑