gpt4 book ai didi

regex - Lua 正则表达式,只有一个匹配项

转载 作者:行者123 更新时间:2023-12-01 11:15:53 26 4
gpt4 key购买 nike

谁能帮我解决 lua“正则表达式”又名模式?

如何将此正则表达式转换为 string.match() 的 lua 模式:ytplayer\.config\s*=\s*(\{.+?\}) ;。您可以使用此站点来解释此正则表达式的作用:https://regex101.com/#pcre

基本上我想寻找一个以 ytplayer.config = 开头的字符串(注意等号前后可能的空格),然后是 { 直到我们打了一个分号。

ytplayer.config = {大量文本、特殊字符和其他所有可能的内容...}};这可能是一个结果。

目前我有 string.match(s, "ytplayer.config%s=%s({.});") 但它返回一个精确的副本(用 kdiff 检查)。

最佳答案

看看,这将返回您捕获的组:

print(string.match("ytplayer.config = {a lot of text, special characters and everything else which is possible...}};", "^ytplayer%.config%s*=%s*({.-});"))

输出:

{a lot of text, special characters and everything else which is possible...}}

正则表达式是 ^ytplayer%.config%s*=%s*({.-});。如果您不想检查字符串开头,请从开头删除 ^

请参阅this demo .

Lua patterns , % escspes “魔术符号”。与 * 一样,修饰符 - 也匹配零次或多次出现的原始类字符。但是,它不是匹配最长的序列,而是匹配最短的序列。

关于regex - Lua 正则表达式,只有一个匹配项,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29844369/

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