【发布时间】:2016-03-31 06:37:31
【问题描述】:
我正在使用 XML 导出来删除旧的所需数据并将其替换为相关标签。我一直在环顾四周,但无法准确找到我正在寻找的东西,如果这看起来多余,请原谅我。
我希望替换我的 <wp:postmeta> 和 </wp:postmeta> 标记中的所有数据。但是,由于它们跨越多条线路,.*? 无法像过去那样工作。我相信这意味着它只跨越一条线。以下是代码示例:
<item>
//Start of find
<wp:postmeta>
<wp:meta_key><![CDATA[_edit_last]]></wp:meta_key>
<wp:meta_value><![CDATA[3]]></wp:meta_value>
</wp:postmeta>
<wp:postmeta>
<wp:meta_key><![CDATA[_thumbnail_id]]></wp:meta_key>
<wp:meta_value><![CDATA[51833]]></wp:meta_value>
</wp:postmeta>
<wp:postmeta>
<wp:meta_key><![CDATA[snapEdIT]]></wp:meta_key>
<wp:meta_value><![CDATA[1]]></wp:meta_value>
</wp:postmeta>
// End of find using Notepad++
</item>
<item>
//Start of find
<wp:postmeta>
<wp:meta_key><![CDATA[_edit_last]]></wp:meta_key>
<wp:meta_value><![CDATA[3]]></wp:meta_value>
</wp:postmeta>
<wp:postmeta>
<wp:meta_key><![CDATA[_thumbnail_id]]></wp:meta_key>
<wp:meta_value><![CDATA[51425]]></wp:meta_value>
</wp:postmeta>
// End of find using Notepad++
</item>
我特别希望在其相应的打开和关闭item 标记中查找并替换从第一个<wp:postmeta> 标记到最后一个关闭</wp:postmeta> 末尾的所有内容。有数百个,我不想一个一个去。请让我知道这是否可能。如果不可能,我想知道如何从一个 <wp:postmeta> 转到它的关闭 </wp:postmeta>,我可以使用它。
提前致谢。
【问题讨论】:
-
找不到一种方法来做你想做的事,但
<wp:postmeta>(.*?)</wp:postmeta>对每个标签都有效!不要忘记检查选项“。匹配换行符” -
不需要分组括号。我喜欢用它。
标签: regex xml replace notepad++