正则表达式查找和替换

时间:2012-01-04 14:44:35

标签: regex dreamweaver

我有一个格式很差的XML文件,我希望替换一些标签的名称。

例如......

<column name="id">1</column> 

应该成为

<id>1</id>

我有超过7000个条目,并不想手工做这个。我正在使用Dreamweaver的Find&amp;更换。显然,示例中的值“1”是动态值。

为任何帮助干杯......

3 个答案:

答案 0 :(得分:2)

查找

<column name="id">(\d+)</column>

替换为

<id>$1</id>

确保在对话框中选中使用正则表达式

See further on Adobe's site

答案 1 :(得分:0)

搜索:<column name="id">(.*)</column> 替换为:<id>\1</id>

答案 2 :(得分:0)

一个简单的python解决方案,使用Perl可能更容易:

import re        # regular expression
import sys       # command line arguments

pat = re.compile(r'<column name=\"id\">(\d*)</column>', re.IGNORECASE)

if __name__=='__main__':
    filename = sys.argv[1]

     for line in open(filename):
         matchObj = pat.search(line)
         if matchObj != None:
             s"<id>" + matchObj.group(1) + "</id>"
         else:
             print line