Re: [問題] 我想去掉discuz的圖片語法的[img]和[/img

作者: LPH66 (-6.2598534e+18f)   2012-11-13 19:24:36
※ 引述《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)
作者: jonce007 (汪汪)   2011-01-13 19:33:00
說明的非常清楚,謝謝你。「\[/*img]」

Links booklink

Contact Us: admin [ a t ] ucptt.com