*你晃动着手中的木棒,到处寻找目标。%s*$");结果就是 ... 请教个lua内的正则问题 ,北大侠客行MUD论坛" />

北大侠客行MUD论坛

 找回密码
 注册
搜索
热搜: 新手 wiki 升级
查看: 5307|回复: 6

请教个lua内的正则问题

[复制链接]
发表于 2015-3-25 17:11:40 | 显示全部楼层 |阅读模式
我想匹配
你晃动着手中的木棒,到处寻找目标。
我怕前面带>,怕后面带空格,于是我这么匹配

l,w = wait.regexp("^>*你晃动着手中的木棒,到处寻找目标。%s*$");

结果就是匹配不到
(lua里用%s代表空格)

如果把%s*去掉,或者换成.*,都能匹配到

按理说,*,是0到任一个,那我在任何地方加%s*,都不应该啊
谁知道,帮忙看看呗,多谢

北大侠客行MUD,中国最好的MUD
北大侠客行Mud(pkuxkx.com),最好的中文Mud游戏!
 楼主| 发表于 2015-3-25 17:30:42 | 显示全部楼层
把*换成-,依然不行
l,w = wait.regexp("^>*你晃动着手中的木棒,到处寻找目标。%s-$");

我的理解,*号,应该可以匹配0次到多次,为什么0次就不行了呢?
北大侠客行Mud(pkuxkx.com),最好的中文Mud游戏!
发表于 2015-3-25 17:32:27 | 显示全部楼层
l,w = wait.regexp("^[> ]*你晃动着手中的木棒,到处寻找目标。\\s*$");
北大侠客行Mud(pkuxkx.com),最好的中文Mud游戏!
发表于 2015-3-25 17:34:51 | 显示全部楼层
唷,研究+回帖的功夫,沙发都木有了。。看来小苏学业有成啊:-)

to 楼主:
lua的正则表达式和mush的正则表达式遵循的标准不同,具体请百度
北大侠客行Mud(pkuxkx.com),最好的中文Mud游戏!
 楼主| 发表于 2015-3-25 21:03:48 | 显示全部楼层
回复 5# cappuccino


我就是对照着lua的手册看的......
我自己研究了一下,最后成功的如下
^[>]*[ ]*[%s]*你晃动着手中的木棒,到处寻找目标。[%s]*$
其实核心就是多个[]罢了

当然,之前我之所以加了[>]*[ ]*[%s]*
这么一长串,是因为有的时候有>,而>之后还有空格,更可恨的是,空格并不是空格,ascii是17的东西......我怕他有真假空格,所以干脆都加上了......
北大侠客行Mud(pkuxkx.com),最好的中文Mud游戏!
 楼主| 发表于 2015-3-25 21:05:45 | 显示全部楼层
另外,我看的lua书里,都是用的%,而不是\
%s%d%x%X
等等等等
跟mush里的的确不同
北大侠客行Mud(pkuxkx.com),最好的中文Mud游戏!
发表于 2015-3-26 12:13:08 | 显示全部楼层
原来mush和lua不一样,难怪有些要加上[]才有效,学习了
北大侠客行Mud(pkuxkx.com),最好的中文Mud游戏!
您需要登录后才可以回帖 登录 | 注册

本版积分规则

Archiver|手机版|小黑屋|北大侠客行MUD ( 京ICP备16065414号-1 )

GMT+8, 2024-11-28 12:20 PM , Processed in 0.009791 second(s), 14 queries .

Powered by Discuz! X3.4

Copyright © 2001-2020, Tencent Cloud.

快速回复 返回顶部 返回列表