feixiong 发表于 2012-3-21 19:11:37

LUA傻瓜式新手学习与笔记6

本帖最后由 feixiong 于 2012-3-22 07:50 PM 编辑

---------------------------------------------------------------------------------
---------------------------------------------------------------------------------
例:

lua脚本里
劫匪伸手一拦道:“想跑?没那么容易!”\\w*

mush里

【 气血 】 503 / 573 [ 97%] 【 内力 】 855 / 835 (+ 0)
在匹配里输入^[>]*\s*【 气血 】\s+(\d+)\s+/\s+(\d+)\s+\[\s*(\d+)\%]\s+【 内力 】\s+(\d+)\s+./\s+(\d+)\s+.*$

我自己在网络学习的的文章 <<详解LUA中关于正则表达式>> 中说道
下面的表列出了Lua支持的所有字符类:
1. . 任意字符

2. %a      字母

3. %c      控制字符

4. %d      数字

5. %l      小写字母

6. %p      标点字符

7. %s      空白符

8. %u      大写字母

9. %w      字母和数字

10. %x      十六进制数字

11.   %z      代表0的字符

上面字符类的大写形式表示小写所代表的集合的补集。例如, '%A'非字母的字符:
1.print(string.gsub("hello, up-down!", "%A", "."))
2.--> hello..up.down. 4

% \ \\ 在mush的正则 和 LUA里脚本正则里使用的区别,现在只知道mush的正则传递给lua脚本的时候用\\ 而LUA里用% mush 里 \ 用在不调用LUA脚本的时候。
感觉我的理解不太准确,求高手详细指点,最好提供例子,谢谢

littleknife 发表于 2012-3-21 19:15:57

yct20木看懂------yct15.

labaz 发表于 2012-3-21 19:34:33

回复 2# littleknife
LZ的意思应该分别是%和\,\和\\

shuigui 发表于 2012-3-21 21:18:07

\是正则标准的解析吧
\\是从lua翻译到触发器时候需要多加一个\
实际上在lua脚本里写\\,到了触发器里面就成了\

shuigui 发表于 2012-3-21 21:19:34

%是触发器里面读取变量时候用的
\是写在触发器的“匹配语句”里面的
%是写在触发器的“发送命令”里面的
不知道对不对

jizong 发表于 2012-3-21 22:25:21

學習lua有好處啊

feixiong 发表于 2012-3-22 06:31:30

本帖最后由 feixiong 于 2012-3-22 07:01 AM 编辑

回复 6# jizong


    {:7_279:}水鬼师兄的意思我明白呵呵

emyt 发表于 2012-3-22 08:24:26

\ 触发器的正则匹配 遵循POSIX规范(regexp)
\\ 脚本中的触发器的正则匹配 遵循POSIX规范(regexp)
% 是用在lua中字符函数(find,match,gsub,gmatch)的模式匹配(pattern)和正则匹配 POSIX(regexp)是不同的

emyt 发表于 2012-3-22 08:39:14

劫匪伸手一拦道:“想跑?没那么容易!”\\w*
第一个\是lua中的转义字符\w*是正则中匹配0个或多个字符的

cysp 发表于 2012-3-22 09:20:57

lua太费神了,老头子就不学习了。呵呵
页: [1] 2
查看完整版本: LUA傻瓜式新手学习与笔记6