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

相关推荐
玖玥拾1 天前
Lua 基础语法(八) Unity Huatuo (HybridCLR)
开发语言·unity·游戏引擎·lua
x10n92 天前
Postman 汉化完整指南
测试工具·lua·postman
AI情绪识别开源3 天前
检信 Allemotion 认知功能障碍矫正软件体验评审意见报告
lua
玖玥拾3 天前
Lua 基础语法(六)xLua Lua 调用 C# 交互
开发语言·unity·c#·lua
玖玥拾4 天前
Lua 基础语法(五)Unity xLua基础配置与 C# 访问 Lua
开发语言·unity·c#·lua
玖玥拾5 天前
Lua 基础语法(二)
开发语言·unity·lua
玖玥拾5 天前
Lua 基础语法(三) 元表 metatable、元方法、模拟面向对象
开发语言·unity·lua
盟道科技6 天前
Redis+Lua 实现滑动窗口限流:从固定窗口踩坑到生产可用的完整方案
redis·junit·lua
Rain的Java大神之路9 天前
高并发下的热点账户余额扣减:Redis+Lua脚本实现无锁记账
java·spring boot·redis·后端·spring cloud·缓存·lua
qq_3227627511 天前
一个接口从能用到稳定,中间差的到底是什么
服务器·开发语言·lua·接口·fastapi·请求