Regex 用于大型搜索和替换的正则表达式工具
我经常发现自己需要一个工具,使我能够: 在一个大文件中搜索多个多行正则表达式模式,并使用反向引用替换它们 我应该:Regex 用于大型搜索和替换的正则表达式工具,regex,Regex,我经常发现自己需要一个工具,使我能够: 在一个大文件中搜索多个多行正则表达式模式,并使用反向引用替换它们 我应该: 花2个小时为自己打造这样一个工具 使用某人已经构建的东西(请建议) 学习使用一种在这方面特别擅长的语言(Perl?) 示例 我有一个包含数千个条目的xml文档。大约有100个带有已知值字段的条目需要删除。我可以为每个条目构建一个正则表达式。除值字符串部分外,100个条目的表达式相同。要么这个工具需要能够为每个值循环一次,要么在表达式中只循环一次100或100项(|)(这将是巨大的
示例
我有一个包含数千个条目的xml文档。大约有100个带有已知值字段的条目需要删除。我可以为每个条目构建一个正则表达式。除值字符串部分外,100个条目的表达式相同。要么这个工具需要能够为每个值循环一次,要么在表达式中只循环一次100或100项(|)(这将是巨大的)。在本例中,我将用空白替换匹配项,但在其他情况下,我将重新格式化文本并重新插入值字段。我认为您应该将内容写入。python库非常棒:
# get the re library
import re
# this is the line to process
xml_line = "<stuff><bad i_am_naughty=\"True\"></bad></stuff>"
# compile a regex
exp = re.compile ("(.*)(<bad.*bad>)(.*)")
# run the regex on the line
match = exp.search (xml_line)
# print out the groups the regex found
print match.groups ()
#获取re库
进口稀土
#这是要处理的行
xml_line=“”
#编译正则表达式
exp=re.compile((.*)()(.*))
#在线运行正则表达式
match=exp.search(xml\u行)
#打印出正则表达式找到的组
打印match.groups()
注意,你也可以用它去除你不想要的元素。使用python XMl解析简化了我在示例中忽略的一些复杂性(多行等)。代替Python XML解析示例,这有一些很好的答案,可以在Python中重新解析XML。我建议不要使用正则表达式。XML通常应该使用XML工具来处理。为什么不直接使用?< p>我不太清楚你的数据是什么样子,但是我会考虑在Python中写三遍:
有大量模块可用于处理xml
我认为他想使用正则表达式使选择其中一个值的表达式易于构造。XSLT中的替代方案将有大约100个匹配模板,对吗?