问题标签 [lua-patterns]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
lua - Lua string.gsub() by '%s' 或 '\n' 模式
英语不是我的母语,所以很难描述这个问题。
我想通过 lua string.gsub() 在 str 中得到 'd=40',但是有一些问题。
------下面的代码---
local str = [==[
-- a=10
- -b=20
--c=30
d=40
]==]local pat1 = [=[%s[%s]]=]
local pat2 = [=[\n[%s]]=]
str:gsub(pat1, function(s) print("pat1>>" .. s ) end) --pat1>>d=40
str:gsub(pat2, function(s) print("pat2<<" .. s) end) --不匹配本地 re1,_ = str:gsub("\n","$")
本地 re2,_ = str:gsub("%s","$")
print(re1) --a=10$- -b= 20$ --c=30$d=40$
print(re2) --$a=10$-$-b=20$$ --c=30$d=40$
正如 Lua 5.1 参考手册说
的 %s: 代表所有空格字符。
我认为它等于'\n',''和'\t'。
问题:为什么 pat2 不能匹配?
但我认为 pat2 是对的,有一个 '\n'befor'd=40' ,
所以我认为它可以匹配,但它不能工作,为什么?
lua - Lua 模式中的交替运算符是什么?
在正则表达式中,|
用于交替。Lua 模式中对应的字符是什么?
lua - 在 Lua 中将 '%' 放入 string.gsub()
我有这个代码
我只是希望输出是这样的,my%20dog
但我收到了这个错误
我读过那%
是Lua中的逃生。
我的问题是,我如何申请%
替换的新字符串(strs
)?
regex - Lua 模式括号和 0 或 1 次出现
我正在尝试将字符串与模式匹配,但有一件事我还没有弄清楚。在正则表达式中,我会这样做:
我希望所有字符串都匹配。在 Lua 模式匹配中,我无法让它工作。
即使是这样一个更简单的例子也行不通:
有人知道怎么做这个吗?
string - Lua - 使用模式提取字符串
我刚刚开始使用 Lua 模式。
我有一个字符串
|2|34|56|1
如何从字符串中提取数字?
我可以手动解析字符串并排除所有“|” 人物。但我确信使用 Lua 模式会简单得多。
在这种情况下,模式如何提供帮助?
lua - 在这个 Lua 模式中括号的用途是什么?
基本字符串是:IP: 192.168.0.1
将该字符串传递给 string.gmatch 函数(除了下面的模式)将返回以下结果:
模式:IP: (%d+.%d+.%d+.%d+)
-->192.168.0.1
模式:IP: %d+.%d+.%d+.%d+
-->IP:192.168.0.1
我的问题是,这些括号对 Lua 模式匹配引擎的含义是什么?为什么通过在第一个模式中使用括号,IP:
省略了字符串但在第二个模式中没有?
lua - 如何使用 string.gsub 替换 Lua 中的括号?
我有一个函数,用于用几个字符或数字替换一些单词。我string.gsub()
以这种方式使用函数:
这对带有数字、字母、空格、,
和的字符串非常有效/
。我也想替换括号,比如(
and )
。但简单地插入()
我的模式是行不通的。我也尝试过%(
,%)
但没有成功。如何使用string.gsub()
方法中的模式替换 Lua 中的括号?
lua - Lua:字符串后的模式匹配?
例如,我有这种格式的任意行:
目录 C:\Program Files\abc\def\
或类似的东西。
启用日志
我希望能够从第一行中提取“C:\Program Files\ab\def\”部分。同样,我想在第二行中提取“开”。变量和它的值之间的空格是任意的。我会知道变量的名称,但我需要根据它提取值。
所以基本上,我想删除第一个单词和第一个单词后面的一些任意空格,并返回直到行尾的剩余内容。
string - Lua 边界模式匹配(全词搜索)
有人可以帮我解决这个问题吗:
所以边界模式发现整个单词没有问题,gsub 计算整个单词没有问题但是如果搜索字符串有数字怎么办?
如果数字不在搜索字符串的开头或结尾,似乎可以使用