作者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