作者LPH66 (杇瑣)
看板RegExp
標題Re: [問題] 我想去掉discuz的圖片語法的[img]和[/img
時間Tue Nov 13 19:24:36 2012
※ 引述《jonce007 (汪汪)》之銘言:
: 我想去掉discuz的圖片語法的[img]和[/img]
: [img]http://wwww..........1.jpg[/img]
: [img]http://wwww..........2.jpg[/img]
: [img]http://wwww..........3.jpg[/img]
: 軟體是notepad2,以前都先去掉[img],再去掉[/img]
: 後來想利用正規表示式省點工,用"[[/]img]"
: 結果會殘留"[" ,我想錯了什麼呢?
: 結果:
: http://wwww..........1.jpg[
: http://wwww..........2.jpg[
: http://wwww..........3.jpg[
首先 [ ] 是 character class
包在裡面的會 match 到這裡的其中一個字
例如 [123] 會 match 到 1 或 2 或 3
然而在 regexp 的語法上 一開始只有 [ 是特殊字
看到 [ 之後它的下一個 ] 會當成這個 character class 的結束
因此你的 regexp 其實被解釋成了
[[/]img]
它會 match 到「
「一個 [ 或 /」後面跟著
img]」
解決方法 首先因為 [ 是特殊字 要用 \ 把它 escape 掉
然後下一個字你要的是可能不會有的 / 所以寫成 /?
最後再接 img]
全部就成了
\[/?img]
不過我拿我手邊的 notepad2 測了一下 發覺它對 ? 好像有點問題
所以如果它告訴你找不到的話把 ? 改成 * 應該就可以了
(嚴格上改成 * 意思變了 但在這個地方應該沒差
總不會有 [///////img] 這種東西出現吧XD)
--
◢ ˊ_▂▃▄▂_ˋ. ◣ ▅▅ ▅▅ ι●╮ █
▄▄▄▄▄
▍
./◤_▂▃▄▂_◥ \'▊ HARUHI █████ <■┘ ▄▄▄▄▄▄▄
▎
⊿ ◤◤◥█◥◥█Δ ISM By-gamejye ¢|\ ▌▌▌▌▌▄▌▌
▏
ζ(▏●‵◥′●▊)Ψ ▏ █
⊿Δ ▄▄▄ ▄▄▄▄
█/|▊ 〃 、 〃▋ |\ ▎ ハルヒ主義 █
▄▄▄█▄▄
◥◥|◣ ‵′ ◢/'◢◢
S.O.S 世界を大いに盛り上げるための涼宮ハルヒの団
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 180.218.108.125
1F:→ jonce007:說明的非常清楚,謝謝你。「\[/*img]」 11/13 19:33