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