gpt4 book ai didi

lua - 引用文本的正确 Lua 模式是什么?

转载 作者:行者123 更新时间:2023-12-04 17:58:08 25 4
gpt4 key购买 nike

我已经玩了一个小时或两个小时,发现自己在路障上使用 Lua 模式匹配实用程序。我试图匹配字符串中所有引用的文本并在需要时替换它。

到目前为止我想出的模式是: (\?[\"\'])(.-)%1

这在某些情况下有效,但并非所有情况:

Working: "This \"is a\" string of \"text to\" test with"

Not Working: "T\\\"his \"is\' a\" string\" of\' text\" to \"test\" wit\\\"h"

在不工作的例子中,我希望它匹配(我做了一个函数来获取我想要的匹配,我只是在寻找一个与 gsub 一起使用的模式,并且好奇 lua 模式是否可以做到这一点):
 string
a" string" of
is' a" string" of' text
test
his "is' a" string" of' text" to "test" wit

暂时我将继续使用我的函数,但是很好奇是否有我可以/应该使用的模式,而我只是缺少一些带有模式的东西。

(一些编辑 b/c 我忘记了 stackoverflows 格式)
(另一个编辑非 html 示例,因为它导致我试图解析 html 的假设)

最佳答案

尝试使用正则表达式匹配转义的引用文本就像尝试使用割草机从田地中移除雏菊(并且仅是雏菊)。

I made a function that gets the matches I desire



这是正确的举动。

I'm curious if a lua pattern can do this



从实用的角度来看, 即使模式可以做到这一点,您也不想这样做。 从理论的角度来看,您试图找到前面有偶数个反斜杠的双引号。这绝对是一种正则语言,你想要的正则表达式如下(Lua引用约定)
[[[^\](\\)*"(.-[^\](\\)*)"]]

带引号的字符串将是结果 #2。但是 Lua 模式并不是完整的正则表达式;特别是,你不能放 *在括号中的模式之后。
所以 我的猜测是这个问题不能用 Lua 模式解决,但是由于 Lua 模式不是自动机理论中的标准事物,我不知道您可以使用任何证明技术来证明它。

关于lua - 引用文本的正确 Lua 模式是什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4317308/

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