蟒蛇匹配和替换,我做错了什么

  • 本文关键字:错了 替换 python regex
  • 更新时间 :
  • 英文 :


我有 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)

最新更新