正则表达式查找和替换
我有一个非常糟糕的格式化XML文件,我正在寻找替换一些标签的名称。正则表达式查找和替换
例如...
<column name="id">1</column>
应该成为
<id>1</id>
我有超过7000项,不喜欢做手工这一点。我正在使用Dreamweaver的查找&替换。显然,示例中的值“1”是一个动态值。
干杯任何帮助......
更可能的是,OP在寻找'
你们都是对的。感谢准确和迅速的回复家伙。 – jayfield1979 2012-01-04 15:00:47
是的,用上面的解决方案推广看起来像要走的路 – fge 2012-01-04 15:00:53
搜索:<column name="id">(.*)</column>
替换:<id>\1</id>
一个简单的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
如果你有XSLT的一些知识,它可以用样式表来完成(我不敢说“简单”,我从来没有写过一个不到30分钟......) – fge 2012-01-04 15:00:32