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脚本的时候。
感觉我的理解不太准确,求高手详细指点,最好提供例子,谢谢 yct20木看懂------yct15. 回复 2# littleknife
LZ的意思应该分别是%和\,\和\\ \是正则标准的解析吧
\\是从lua翻译到触发器时候需要多加一个\
实际上在lua脚本里写\\,到了触发器里面就成了\ %是触发器里面读取变量时候用的
\是写在触发器的“匹配语句”里面的
%是写在触发器的“发送命令”里面的
不知道对不对 學習lua有好處啊 本帖最后由 feixiong 于 2012-3-22 07:01 AM 编辑
回复 6# jizong
{:7_279:}水鬼师兄的意思我明白呵呵 \ 触发器的正则匹配 遵循POSIX规范(regexp)
\\ 脚本中的触发器的正则匹配 遵循POSIX规范(regexp)
% 是用在lua中字符函数(find,match,gsub,gmatch)的模式匹配(pattern)和正则匹配 POSIX(regexp)是不同的 劫匪伸手一拦道:“想跑?没那么容易!”\\w*
第一个\是lua中的转义字符\w*是正则中匹配0个或多个字符的 lua太费神了,老头子就不学习了。呵呵
页:
[1]
2