regex如果重复,则替换两行中的内容

时间:2018-03-17 22:58:28

标签: regex notepad++

我有一个包含800万行的大型xml文件。其中一些部件有我要删除的部分,但只有它们是相同的。

<sector x="4092" y="4024" x_size="4" y_size="4" >
</sector>
<sector x="4092" y="4028" x_size="4" y_size="4" >
</sector>
<sector x="4092" y="4032" x_size="4" y_size="4" >
belladonna:1|
</sector>
<sector x="4092" y="4036" x_size="4" y_size="4" >
</sector>
<sector x="4092" y="4040" x_size="4" y_size="4" >
</sector>
<sector x="4092" y="4044" x_size="4" y_size="4" >
</sector>
<sector x="4092" y="4048" x_size="4" y_size="4" >
</sector>
<sector x="4092" y="4052" x_size="4" y_size="4" >
</sector>
<sector x="4092" y="4056" x_size="4" y_size="4" >
sage:1|
</sector>

我可以选择sector标签之间的内容,但是如果它们是空的,我想删除它们。

使用此正则表达式:<sector[\s\S]*?">\n<\/sector>我可以选择内容,但它们包含行,我只想匹配不包含它们之间内容的sector标记。

因此上面的示例将仅删除它们之间没有文本的示例。 像这样:

<sector x="4092" y="4032" x_size="4" y_size="4" >
belladonna:1|
</sector>
<sector x="4092" y="4056" x_size="4" y_size="4" >
sage:1|
</sector>

1 个答案:

答案 0 :(得分:-1)

好的,找到了一个很好的正则表达式:

<sector x=".*" y=".*" x_size="4" y_size="4" >\n<\/sector>