加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

正则表达式 – 如何使用记事本在标签之间查找和替换文本

发布时间:2020-12-14 05:49:19 所属栏目:百科 来源:网络整理
导读:我正在使用 XML导出来删除旧的通缉数据并将其替换为相关标签.我一直在环顾四周,但一直无法找到我正在寻找的东西,所以请原谅我,如果这看起来多余的话. 我希望替换我的 wp:postmeta中的所有数据和 / wp:postmeta标签.但是因为它们跨越多行.*?不像过去那样工
我正在使用 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>

我特意想找到并替换第一个< wp:postmeta>中的所有内容.标记到最后一次结束< / wp:postmeta>在其相应的打开和关闭项目标签内.有数以百计这些,我宁愿不逐一去.如果可能,请告诉我.如果不可能,我想知道如何从一个< wp:postmeta>到它的结束< / wp:postmeta>我可以用它.

提前致谢.

解决方法

在记事本中,强制一个.要匹配换行符(多行文本块),您需要启用.匹配“查找和替换”对话框中的换行选项.

请注意,使用正则表达式更改(X)HTML代码非常困难并且容易出错.

所以,如果你知道你在做什么,你可以启用我上面提到的那个选项并使用正则表达式< wp:postmeta>.*?< / wp:postmeta>并用你需要的任何东西替换.见regex demo.

如果存在没有结束< / wp:postmeta>的大文本块,则可能会遇到超时问题.然后,您将需要展开正则表达式:

<wp:postmeta>[^<]*(?:<(?!/wp:postmeta>)[^<]*)*</wp:postmeta>

请参阅正则表达式演示.这个正则表达式将匹配换行符,无论如何.匹配换行选项.

如果需要匹配相邻的wp:postmeta标记,可以在模式周围使用非捕获组并为其设置量词:

(?:s*<wp:postmeta>[^<]*(?:<(?!/wp:postmeta>)[^<]*)*</wp:postmeta>)+

见one more demo

截图:

enter image description here

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读