正则表达式删除标记Notepad ++中的特定文本

时间:2017-07-13 10:31:14

标签: javascript html regex xml notepad++

您好我对编码有点新意,并试图了解正则表达式的工作原理,

所以我正在使用产品处理XML文件,并希望删除标记内的特定文本。从下面的例子中可以看出:



<descr>&lt;br/&gt;
&lt;P&gt;SOME RANDOM TEXT&lt;/P&gt;&lt;br/&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;br/&gt;</descr>
&#13;
&#13;
&#13;

我想删除此部分:

&#13;
&#13;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&#13;
&#13;
&#13;

导致其干扰文本格式。 这可能会在标签内多次发生,因此我希望每次都将其删除。 我可以在Notepad ++中使用正则表达式吗?

1 个答案:

答案 0 :(得分:2)

我能够用这个正则表达式进行替换:

(<descr>[\s\S]*?)&lt;P&gt;&amp;nbsp;&lt;\/P&gt;([\s\S]*?<\/descr>)

取代:

$1 SUCCESS $2

我用作输入:

<descr>&lt;br/&gt;
&lt;P&gt;SOME RANDOM TEXT&lt;/P&gt;&lt;br/&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;br/&gt;</descr>

<other>&lt;br/&gt;
&lt;P&gt;SOME RANDOM TEXT&lt;/P&gt;&lt;br/&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;br/&gt;</other>

<descr>&lt;br/&gt;
&lt;P&gt;SOME RANDOM TEXT&lt;/P&gt;&lt;br/&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;br/&gt;</descr>

它变成了:

<descr>&lt;br/&gt;
&lt;P&gt;SOME RANDOM TEXT&lt;/P&gt;&lt;br/&gt;
 SUCCESS &lt;br/&gt;</descr>

<other>&lt;br/&gt;
&lt;P&gt;SOME RANDOM TEXT&lt;/P&gt;&lt;br/&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;br/&gt;</other>

<descr>&lt;br/&gt;
&lt;P&gt;SOME RANDOM TEXT&lt;/P&gt;&lt;br/&gt;
 SUCCESS &lt;br/&gt;</descr>

图像:

enter image description here

解释正则表达式:

(                                 # start of group 1
    <descr>                           # match the open tag
    [\s\S]                            # space or non-space characters = anything
          *?                          # the minimum amount till the next match
)                                 # end of group 1
&lt;P&gt;&amp;nbsp;&lt;\/P&gt;    # your pattern, please note I had to escape the slash
(                                 # start of group 2
    [\s\S]                            # space or non-space characters = anything
          *?                          # the minimum amount till the next match
    <\/descr>                         # the closing tag, again look the escaped slash
)                                 # end of group 2

替换:

$1 SUCCESS $2                     # $1 stores the value matched by the group 1
                                  # $2 stores the value matched by the group 2
                                  # The text " SUCCESS " was an example, it could be empty