smxl.net
当前位置:首页 >> luA string.mAtCh 表达式解释 #{0=([%A.%D]+) >>

luA string.mAtCh 表达式解释 #{0=([%A.%D]+)

string.match是string库中的一个标准函数 local str = "today is 2013-11-4" print(string.match(str,"%d%d%d%d") 就可以匹配出含有4个数字的地方 也就是匹配出2013所在的位置 %s表示空白符 包括空格 制表符 回车 %w %c 还有[]^. - + * ? 等魔法...

参考那个随机文档就可以了。 和一般的正则表达式不一样,大部分表达式是基于pcre的,而lua的是非常精炼的,所以使用上跟一般的用法差别很大。

由于Lua和C的真值定义不一样. 假设a,b是bool型的, 那么 if a and b then statement1 else statement2 end 如果a,b是整数,那么 if a~=0 and b~=0 then statement1 else statement2 end

Lua中修饰符 - 和 * 都表示匹配前一字符0次或多次,但 - 进行的是最短匹配,类似传统正则中的非贪婪匹配,而 * 则是最长匹配,即贪婪匹配 由于你正则中最后一个(%d-)后面没有任何东西了,那这个 - 进行了最短匹配,即什么都不匹配,所以没有捕获...

function extractChinese(s) for m in string.gmatch(s,'"[\176-\254]+"') do print(m) endendss = 'foo"中文"a"你好"foo'extractChinese(ss) 上面的输出为: 中文 你好 注意:这个函数假设你的“中文”是GB2312编码。如果是UTF-8编码,需要改一下...

(%w+)%.(%w+) 匹配"11.png" %2表示第2个捕获项,即第二个括号(%w+)捕获的字符,即"png" 合起来意思就是把“a_b_c_11.png”中的"11.png"替换为"png",即得到"a_b_c_png" 改成%1后,就是拿第1个捕获项去替换,即第一个括号(%w+)捕获的字符,即"11" ...

网站首页 | 网站地图
All rights reserved Powered by www.smxl.net
copyright ©right 2010-2021。
内容来自网络,如有侵犯请联系客服。zhit325@qq.com