使用Notepad ++从xml中提取特定数据

时间:2013-02-19 15:57:58

标签: regex xml notepad++

我有一个带结构的xml响应(例如,组>子组>子记录),并且每个都有不同的值重复数千次。

我想只抓取9位序列号字段与我提供的字符匹配的子组,并将它们提取到自己的文件中。在提取子组时,它也会带来组。我希望使用notepad ++以及可能通过使用正则表达式来完成这样的任务,但不确定我将如何进行此操作。

1 个答案:

答案 0 :(得分:1)

我并不熟悉记事本++。为了使我的解决方案能够工作,它需要支持多行正则表达式和高级正则表达式语法(非贪婪匹配)。并非所有支持正则表达式的文本编辑器都可以。

我会以你希望\<subgroup\>\<\/subgroup\>转义特殊字符的外部标记开始和结束。为了捕捉其间的内容,我会使用非贪婪的匹配\<subgroup\>\.*?<\/subgroup\>。然后我会添加您感兴趣的特定序列号\<subgroup\>\.*?123456789.*?<\/subgroup\>

如果您想在这里找到一些多个序列号,请使用类似

的内容
\<subgroup\>\.*?(123456789|987654321|678912345).*?<\/subgroup\>