Lua 恰好有一个匹配项的正则表达式
Lua regular expression with exactly one match
有人可以帮我 lua "regex" aka 模式吗?
如何将此正则表达式转换为 string.match()
的 lua 模式:ytplayer\.config\s*=\s*(\{.+?\});
。您可以使用此站点来解释此正则表达式的作用:https://regex101.com/#pcre
本质上我想寻找一个以 ytplayer.config =
开头的字符串(注意等号前后可能的空格),然后是 {
直到我们找到分号。
ytplayer.config = {a lot of text, special characters and everything else which is possible...}};
这可能是一个结果。
目前我有 string.match(s, "ytplayer.config%s=%s({.});")
但它 returns 是一个精确的副本(用 kdiff 检查)。
看看,这将 return 您捕获的群组:
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中,%
转义"magic symbols"。与 *
一样,修饰符 -
也匹配零次或多次出现的原始 class 字符。但是,它没有匹配最长的序列,而是匹配最短的序列。
有人可以帮我 lua "regex" aka 模式吗?
如何将此正则表达式转换为 string.match()
的 lua 模式:ytplayer\.config\s*=\s*(\{.+?\});
。您可以使用此站点来解释此正则表达式的作用:https://regex101.com/#pcre
本质上我想寻找一个以 ytplayer.config =
开头的字符串(注意等号前后可能的空格),然后是 {
直到我们找到分号。
ytplayer.config = {a lot of text, special characters and everything else which is possible...}};
这可能是一个结果。
目前我有 string.match(s, "ytplayer.config%s=%s({.});")
但它 returns 是一个精确的副本(用 kdiff 检查)。
看看,这将 return 您捕获的群组:
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中,%
转义"magic symbols"。与 *
一样,修饰符 -
也匹配零次或多次出现的原始 class 字符。但是,它没有匹配最长的序列,而是匹配最短的序列。