我有 reg exp 来匹配一些数据(在这里吗),现在我尝试用单个:
characetr 替换所有匹配的数据
test_str = u"THERE IS MY DATA"
p = re.compile(ur'[a-z]+([n].*?</div>[n ]+<div class="large-3 small-3 columns">[n ]+)[a-z]+', re.M|re.I|re.SE)
print re.sub(p, r':/1',test_str)
我以其他几种方式尝试它,但它不会替换任何或不仅替换匹配的模式,而且替换整个模式
1)这是反斜杠问题。
使用 : print re.sub(p, r':1',test_str)
不print re.sub(p, r':/1',test_str)
。
2)您正在用:1
替换所有模式,这意味着将所有文本替换为:
,后跟正则表达式中的第一组。
要仅替换文本中的第一组,您应该在第一组之前和之后添加两组。我希望这将解决问题:
test_str = u"THERE IS MY DATA"
p = re.compile(ur'([a-z]+)([n].*?</div>[n ]+<div class="large-3 small-3 columns">[n ]+)([a-z]+)', re.M|re.I|re.SE)
print re.sub(p, r'1:23',test_str)