purbam 发表于 2010-4-4 14:05:04

原帖由 hba 于 2010-4-4 11:44 AM 发表 http://pkuxkx.com/forum/images/common/back.gif




啧啧,这种低级错误我怎么可能犯呢。看到5楼我贴出来的触发没有。




我原来就是用的\,不行之后试了一下/还不行才发文询问;
ddid回应的我也直接粘贴进去测试不行;
直到丹枫的语句贴进去才测试通过 ...

所以我觉得很奇怪,你的问题应该不是正则写法的问题,有可能是中文字符的问题,你一开始copy的字符可能有问题,所以怎么改都不匹配

purbam 发表于 2010-4-4 14:07:12

原帖由 ddid 于 2010-4-4 12:39 PM 发表 http://pkuxkx.com/forum/images/common/back.gif


呵呵,其实我经常犯错的,不过呢,知错就改嘛…… 改了再犯…… 犯了再改…… 千锤百炼嘛~

其实这个错误昨晚我就发现了,不过danfeng的回答既然可以通过,我再去修改我的,有点不合适。

现在给个狠一点点 ...
^.*\(你上一个动作还没有完成,不能施用内功。\).*$



这样写不好吧,失去在前面加^和在末尾加$的意义了
这样写和直接写 \(你上一个动作还没有完成,不能施用内功。\)没什么区别

ddid 发表于 2010-4-4 15:51:18

0

lzkd 发表于 2010-4-4 16:28:15

这个帖都有资料进精华了..

zeze,各种方法手段呀,各种想法,看的这叫一个舒服

hba 发表于 2010-4-4 16:43:08

原帖由 myu 于 2010-4-4 01:43 PM 发表 http://www.pkuxkx.com/forum/images/common/back.gif
其实这个表达式的标准写法应该是这样子的
^[>\s]*^.\(你上一个动作还没有完成,不能施用内功。\)$
至于为什么,听我道来
1.前面为什么要用[>\s]而不用(>\s),因为[ ]表示的是字符集,所以无论前面出现多少个>和空 ...

话说这是我一直以来最大的正则问题,一直闹不懂为什么主流正则有这两种写法,有何不同,这下受教了。敢问大侠在mud中是何人?让我膜拜一下。


原帖由 lzkd 于 2010-4-4 11:54 AM 发表 http://www.pkuxkx.com/forum/images/common/back.gif

有没有试一下我改的?看行不行?

没试了,忙着啊,你知道的,呵呵。
丹枫那个行了就用了。这次再改myu的。

[ 本帖最后由 hba 于 2010-4-4 04:44 PM 编辑 ]

hba 发表于 2010-4-4 16:47:06

原帖由 myu 于 2010-4-4 01:43 PM 发表 http://www.pkuxkx.com/forum/images/common/back.gif
2.尾部为什么不用.*$,这个是最小匹配原则,当然在这个例子里写不写都无所谓,不过不写.*感觉漂亮而自信。当然你如果不放心,硬要写.*$,我的习惯是不写,不写.*也不写$

不写.*我能理解,但$不写为何?总感觉加个$稳健一些。

myu 发表于 2010-4-4 17:16:33

re25,26:过奖了
我对正则接触得较早,但其实mush是最近才玩的,也算不得什么高人,至于尾部的问题,我看是不是这样解释,加$是为了匹配行尾,与用^强制匹配行首的原理是一样的。但如果写成.*$,表示任意多字符后碰到行尾,这还有意义吗。

.*$的写法与.*^的写法有什么区别呢?写了只是增加其抽象性,对于防止flood毫无作用,不如不写。

myu 发表于 2010-4-4 17:26:24

原帖由 myu 于 2010-4-4 01:43 PM 发表 http://www.pkuxkx.com/forum/images/common/back.gif
其实这个表达式的标准写法应该是这样子的
^[>\s]*^.\(你上一个动作还没有完成,不能施用内功。\)$
至于为什么,听我道来
1.前面为什么要用[>\s]而不用(>\s),因为[ ]表示的是字符集,所以无论前面出现多少个>和空 ...

有点笔误哈,正确的应该是
^[>\s]*\( 你上一个动作还没有完成,不能施用内功。 \)$ttk_13

seagate 发表于 2010-4-4 17:38:31

加^和$都是为了强匹配,其实不用大多数情况下关系不大,只要你机器人有的触发特别要命的时候最好用^[> ]{0,2}TRIGGER$的形式圈起来,以防止出现问题。

ddid 发表于 2010-4-4 17:47:37

正则。 ——没有最好,只有更好……
页: 1 2 [3] 4
查看完整版本: 正则表达式的问题。