2014-09-02 75 views
1

使用通配符/正則表達式的字符替換我有一個很長的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> 

這是一個聊天與兩個參與者「泡沫」和「泡沫結構去」。 正如你可以看到每個「塊」(聊天消息)有一個像「17:14」時間碼。我想用一個空格字符和一個圖像來擴展這個時間碼,但僅限於來自「冒泡」的文本塊。

我正試圖用Notepad ++中的find &替換功能來完成此操作。

這裏是我想出了:

查找內容:

<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的新手,通過搜索互聯網並試圖解決這個問題。 我覺得我很接近,但只有通配符[^「]爲隨機文本尚未正確

回答

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 
+0

非常感謝,它工作完美=) 說實話,我不知道\ 1提到了一對括號「()」。 – user363808 2014-09-03 08:59:16

0

你能解釋一下你要使用\ 1是什麼?每個反斜槓號對應一個捕獲組,這是包含在()中的搜索模式的模式。您只有2個捕獲組,但當您進入\ 6時,您正在引用6個獨特的組。如果您公佈了替代的輸出,那可能會有所幫助。同樣使用像regex101.com這樣的網站可以幫助你調試你的正則表達式。

+0

謝謝,現在我終於知道了\ 1指的是什麼=) lpg的回答已經幫了我。 – user363808 2014-09-03 09:02:07