lua中 string.match返回值

在 Lua 中,string.match 函数用于从字符串中提取与模式匹配的内容,其返回值取决于模式中的捕获组数量和匹配结果。

  1. 没有捕获组

    • 如果匹配成功,返回整个匹配的子串
    • 如果匹配失败,返回 nil
    Lua 复制代码
    local str = "hello world"
    local result = string.match(str, "world")
    print(result)  -- 输出 "world"
  2. 有一个捕获组

    • 匹配成功时,返回该捕获组的内容
    • 匹配失败时,返回 nil
    Lua 复制代码
    local str = "age: 25"
    local age = string.match(str, "age: (%d+)")
    print(age)  -- 输出 "25"
  3. 有多个捕获组

    • 匹配成功时,返回多个值,分别对应各个捕获组的内容
    • 匹配失败时,返回 nil
    Lua 复制代码
    local str = "name: Alice, age: 30"
    local name, age = string.match(str, "name: (%a+), age: (%d+)")
    print(name, age)  -- 输出 "Alice" "30"
  4. 注意事项

    • 即使捕获组没有匹配到内容(如可选模式),也会返回空字符串 ""
    • 当模式匹配到多个位置时,只会返回第一个匹配的结果

总结来说,string.match 的返回值数量等于模式中捕获组的数量,每个返回值对应一个捕获组的内容;没有捕获组时返回整个匹配串;匹配失败则返回 nil

相关推荐
移幻漂流3 天前
Lua的现状与机遇:技术生态全景及高潜力领域分析
junit·单元测试·lua
我发在否3 天前
OpenResty > Lua断点调试
vscode·lua·断点·openresty·luapanda
大雨淅淅3 天前
【开发工具】Postman从入门到精通:环境搭建与使用全攻略
开发语言·lua
爱学习的潇潇3 天前
Postman学习之常用断言
自动化测试·软件测试·功能测试·学习·程序人生·lua·postman
程序员雷叔3 天前
在postman设置请求里带动态token,看看这两种方法!
selenium·测试工具·单元测试·测试用例·pytest·lua·postman
AI软件工程实践3 天前
软件工程里 Postman 的文件上传与下载测试技巧
测试工具·ai·lua·postman
IMPYLH4 天前
Lua 的 Table 模块
开发语言·笔记·后端·junit·游戏引擎·lua
科技块儿4 天前
如何编程调用IP查询API?(PythonJava等示例)
网络协议·tcp/ip·lua
AI_56784 天前
Postman接口测试极速入门指南
开发语言·人工智能·学习·测试工具·lua
IMPYLH4 天前
Lua 的 String(字符串) 模块
开发语言·笔记·单元测试·lua