我有一个包含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>
答案 0 :(得分:-1)
好的,找到了一个很好的正则表达式:
<sector x=".*" y=".*" x_size="4" y_size="4" >\n<\/sector>