gpt4 book ai didi

lua 模式匹配 : delimited captures

转载 作者:行者123 更新时间:2023-12-01 02:25:08 27 4
gpt4 key购买 nike

我正在尝试解析一个字符串,例如:&1 first &2 second &4 fourth \\ ,并从中建立一个表

t = {1=first, 2=second, 4=fourth}

我一般对正则表达式不是很有经验,所以我天真的尝试(暂时忽略 \\ 和表部分)是
local s = [[&1 first &2 second &4 fourth \\]]

for k,v in string.gmatch(s, "&(%d+)(.-)&") do
print("k = "..k..", v = "..v)
end

当我期望看到两个捕获的对时,它只给出了第一个捕获的对。我做了一些阅读并找到了 lpeg图书馆,但它对我来说非常陌生。是 lpeg这里需要吗?谁能解释我的错误?

最佳答案

  • &(%d+)(.-)&匹配 &1 first &
  • 离开 2 second &4 fourth \\匹配于
  • 您的模式与任何其他项目不匹配
  • 关于lua 模式匹配 : delimited captures,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17096952/

    27 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com