我正在使用 Notepad++ 编辑 XML 文件,并且试图弄清楚如何对文件中的多个记录进行编辑。问题是,当我在当前行中找到不同的字符串时,我想从下一行中删除特定的字符串。这是一个例子:
<id_type>OTHER_ID_1</id_type>
<value>[email protected]</value>
我想做的是每当我找到
@college.edu
时从下一行中删除OTHER_ID_1
。我无法对 @college.edu
进行一揽子查找/替换,因为文件中还有其他 XML 标签需要该信息。
我发现了很多代码似乎让我很接近,但我似乎能做的就是选择它。我还看到了一些示例,这些示例展示了如何捕获“查找内容:”框中的输出,但我似乎无法使其与我找到的先前示例一起使用。
这是我当前的查找代码:
(?s)(?<=OTHER_ID_1</id_type>)(.+?)(?=</value>)
下一步是什么?如何从该选择中删除
@college.edu
?
一个简单的方法是。搜索
<id_type>OTHER_ID_1<\/id_type>[^<]+<value>([a-zA-Z0-9.+]*)@college.edu<\/value>
替换为
<id_type>OTHER_ID_1</id_type>\n<value>$1</value>
重要提示:勾选正则表达式搜索“.”时也匹配换行符和回车符的复选框
注意:电子邮件地址名称部分的正则表达式非常简单:-)