作者Yukie (Yukie)
看板EZsoft
標題[請問] Notepad++ 中使用正規表述式大量修改內文
時間Sat Sep 12 11:48:12 2009
手上有一些 HTML 檔案內容如下:
<span class="green">一堆被標為綠色的文字</span>
<span class="yellow">一堆被標為黃色的文字</span>
<span class="green">一堆被標為綠色的文字</span>
<span class="yellow">一堆被標為黃色的文字</span>
<span class="green">一堆被標為綠色的文字</span>
<span class="yellow">一堆被標為黃色的文字</span>
現在希望將綠色文字部份刪除。
我試著在 Notepad++ 中用正規表述式(Regular Expression) 將過程簡化:
搜尋:<span class="green">.*</span>
取代為:
結果,
我是笨蛋!!
整篇文章都不見了,
因為這樣的表述式會找到第一個 <span class=""green">
與最後一個 </span>,並將之中的所有文字全部刪除。
請問我應該怎麼做才能比較快的將綠色部份刪除呢?
謝謝您的指導!
--
我的教學部落格:
http://edumeme.blogspot.com/
實習路上:
http://edumeme.blogspot.com/2009/08/preteacher.html
教學反思:
http://tinyurl.com/RethinkOfTeaching
我在 Youtube 上的影片:
http://tw.youtube.com/user/YukieChen
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 140.128.162.187
※ 編輯: Yukie 來自: 140.128.162.187 (09/12 11:53)
推 Chevelle:sanbis 的回文我看不懂。建議你把 * 換成 + 就好了。 09/12 12:38
推 Kenqr:我試的結果是只有那3行被刪除耶... 09/12 13:01
→ Yukie:Kenqr: 我知道了,notepad++ 是以『行』為單位,如果有分行 09/12 13:07
→ Yukie:就可以正確刪除。如果上面六行全都擠成一行,就會出現錯誤。 09/12 13:07
推 Kenqr:全部接成一行的話 <span class="green">[^<]*</span> 09/12 13:10
→ Kenqr:讓中間的文字不能包含<的話就沒問題了 09/12 13:11
→ Yukie:Kenqr: 測了一下,發現在 notepad++ 中表述式太長會不處理 09/13 18:29
→ Yukie:所以 RegExp 版的 #19Ffk-p3 方法不適用。 09/13 18:31
→ Yukie:在 Vim 裡面也是失敗。不過還好用您的方法可以成功!!:d 09/13 18:32