在Notepad ++中使用通配符/正则表达式字符查找和替换

时间:2014-09-02 13:53:10

标签: html regex replace notepad++ wildcard

我有一个很长的HTML代码,结构如下:

        <td class="tar">
      <div class="bubble in">
        Some Text, I want to keep! And maybe even an image.<br />
        <span class="time"><div style="text-align:right">17:14</span></div>
      </div>
    </td>
  </tr>

  <tr>
    <td class="tal">
      <div class="bubble out">
        Some Text, I want to keep! And maybe even an image.<br />
        <span class="time"><div style="text-align:right">17:15</span></div>
      </div>
    </td>
  </tr>

这是与两个参与者聊天的结构&#34;冒泡&#34;和&#34;冒泡&#34;。 你可以看到每个&#34;块&#34; (聊天消息)有一个类似&#34; 17:14&#34;的时间码。我想用空格字符和图像来扩展这个时间码,但仅限于来自&#34;在&#34;中冒泡的文本块。

我试图通过find&amp; amp;替换Notepad ++中的功能。

以下是我提出的建议:

查找内容:

<div class="bubble in">[^"]*<span class="time"><div style="text-align:right">([0-9]*[0-9]*):([0-9]*[0-9]*)</span></div>

替换为:

<div class="bubble in">\1<span class="time"><div style="text-align:right">\2\3\4\5\6&#160<img src= "test.png" width="16" height="10" alt="0"/</span></div>

搜索有效,但替换\ 1不会以某种方式工作。你能帮我吗? 我是RedEx的新手,通过搜索互联网并尝试来解决这个问题。 我认为我非常接近但只有随机文本的通配符[^&#34;]还不正确。

2 个答案:

答案 0 :(得分:0)

您可以尝试:

找到:

(<div class="bubble in">.*?<span class="time"><div style="text-align:right">[0-9]{1,2}:[0-9]{1,2})(</span></div>)

替换为:

\1 <img src= "test.png" width="16" height="10" alt="0"/> \2

答案 1 :(得分:0)

你能解释一下你正在尝试使用的1吗?每个反斜杠编号对应一个捕获组,它是搜索模式中()中包含的模式。您只有2个捕获组,但在进入\ 6时,您将引用6个唯一组。如果您发布了替换的输出,那可能会有所帮助。使用像regex101.com这样的网站也可以帮助您调试正则表达式。