Quick Reference
:-:-%a与任何字母配对%c与任何控制符配对(例如\n)%d与任何数字配对%l与任何小写字母配对%p与任何标点(punctuation)配对%s与空白字符配对%u与任何大写字母配对%w与任何字母/数字配对%x与任何十六进制数配对%z与任何代表0的字符配对
match
第三个参数可选,默认从 1 开始。如果没有捕获组返回整个字符串,匹配失败返回 nil
string.match(
"I have 2 questions for you.",
"(%d+) (%a+) "
) -- 2 questions
gmatch
返回一个迭代器函数,每次调用迭代器函数,如果参数 pattern 描述的字符串没有找到,迭代函数返回nil
for world in string.gmatch("I have 2 questions for you.", "%a+") do
print(world)
end
-- I
-- have
-- questions
-- for
-- you