www.3112.net > luA string.mAtCh

luA string.mAtCh

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

圆括号表示取出匹配出的字符串 一对空的圆括号 匹配出来的一定是空 所以这个圆括号其实意义不大

lua匹配多字符的话 只能在单个字符里选 而你的需求都是汉字,而汉字已经算是一个完整字符串了 如果需要匹配出里面出现的每一种动物 只能用for循环逐个匹配 local strTab = ("xx","xxx","xxxx")for i,v in pairs(strTab) do print(string.match(aa...

lua字符串分割函数 Example--字符串分割函数,按|分割function lua_string_split(str, split_char) local sub_str_tab = {}; for mu_id in string.gmatch(str, "(%d+)|*") do table.insert(sub_str_tab, mu_id) end return sub_str_tab;end--字符...

function Split(inputstr, sep) if sep == nil then sep = "%s" end local t={} local i=1 for str in string.gmatch(inputstr, "([^"..sep.."]+)") do t[i] = str i = i + 1 end return t end local a = "23245023496830,汉字。。。。" local b...

你的提示已经很清楚了,传入的第2个参数 也就是p 是空 但实际需要的是一个字符串 具体要看你运行时的情况了 本身就语法上是正确的 可能运行的过程中p被赋予了空值

--如果想学习更多的lua字符串模式匹配请参考《Programming in Lua》第二十章String库 local str = "hello i am marry" local arr = {} for w in string.gmatch(str, "%S+") do table.insert(arr,w) end

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

可以啊,使用: string.gmatch (str, pattern) 试试: for w in string.gmatch(str, "(大|小)?画眉") do print(w) end 也可以使用 string.match (str, pattern [, init]) , init 指明从哪里开始搜索

字符串库在表string内提供所有函数。它也给字符串设置元表,其中的__index字段指向string表。因此,你可以使用面向对象风格的字符串函数。例如,string.byte(s, i)可写为s:byte(i)。 string.byte (s [, i [, j]]) 返回字符s, s[i+1], ···, s[j]...

网站地图

All rights reserved Powered by www.3112.net

copyright ©right 2010-2021。
www.3112.net内容来自网络,如有侵犯请联系客服。zhit325@qq.com