问题标签 [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.

0 投票
3 回答
3998 浏览

string - Lua '普通' string.gsub

我用字符串解析打了一个小块。我有一个像这样的字符串:

而且我在使用 gsub 删除字符串的一部分时遇到了困难。通常我会这样做

这通常会给我 'cars_[100]_upper.exr'

问题是 gsub 不喜欢字符串中的 [] 或其他特殊字符,并且与 string.find 不同,gsub 没有使用 'plain' 标志来取消模式搜索的选项。

我无法手动编辑这些行以包含特殊字符的转义字符,因为我正在归档文件比较脚本。

任何帮助从lineA换行使用lineB将不胜感激。

0 投票
1 回答
1140 浏览

lua - Lua 中模式匹配的几个模式匹配问题

我一直在为我使用的一个程序开发一个天气预报器,它在很大程度上运行良好。这是我到目前为止所拥有的。(不要注意 zs.stuff。这是特定于程序的,与 Lua 编码无关。)

我的主要问题是:我更改了“条件”并将“图像”变量添加到现在的状态。即使它应该匹配的行直接来自网页,但它根本无法匹配。所以我想知道我错过了什么阻止了这段代码的工作。如果我取出
<td class="vaM taC">< img src="http://icons-ecast.wxug.com/i/c/a/[%w_]+.gif"
它将完美匹配条件。(无论出于何种原因,我无法正确显示上面的行,但 `< 和 img 之间没有空格)

谁能指出它有什么问题?除了模式匹配之外,我向您保证该行是从网页逐字记录的。

我遇到的另一个问题是跨换行符匹配的能力。有没有办法做到这一点?我问的原因是因为在同一页面上,我需要匹配的一些东西被分成不同的行,并且由于我想要匹配的实际模式出现在页面的其他位置,我需要能够跨换行符匹配以获得确切的模式。

0 投票
4 回答
52501 浏览

regex - Lua 模式匹配与正则表达式

我目前正在学习lua。关于 lua 中的模式匹配,我在 lua.org 上的 lua 文档中找到了以下句子:

尽管如此,Lua 中的模式匹配是一个强大的工具,并且包含一些标准 POSIX 实现难以匹配的特性。

因为我熟悉 posix 正则表达式,所以我想知道是否有任何常见的示例,其中 lua 模式匹配与正则表达式相比“更好”——还是我误解了这个句子?如果有任何常见的例子:为什么模式匹配与正则表达式更适合?

0 投票
3 回答
2622 浏览

string - In Lua, can I easily select the Nth result without custom functions?

Suppose I am inserting a string into a table as follows:

and that mystring is generated by replacing all occurrences of "a" with "b" in input:

The obvious way to combine the two into one statement doesn't work, because gsub returns two results:

which, I suppose, is the price paid for supporting multiple return values. The question is, is there a standard, built-in way to select just the first return value? When I found select I thought that was exactly what it did, but alas, it actually selects all results from N onwards, and so doesn't help in this scenario.

Now I know I can define my own select as follows:

but this doesn't look right, since I'd expect a built-in way of doing this.

So, am I missing some built-in construct? If not, do Lua developers tend to use a separate variable to extract the correct argument or write their own select1 functions?

0 投票
3 回答
13554 浏览

lua - Lua模式中的逻辑“或”?

是否有可能在Lua中实现?

这里的重点是不接受 Lua 模式中的逻辑“或”语句。


编辑:刚刚意识到这样做是可能的:

尽管仍然缺少模式的逻辑“或”。

0 投票
3 回答
7584 浏览

lua - 模式匹配 Lua 中的字符串

我有以下字符串要使用 Lua 拆分成一个表:(数据相互对齐。我没有找到如何在这个网站上像这样编写格式)

IP:192.168.128.12
MAC:AF:3G:9F:c9:32:2E
过期时间:2010 年 8 月 13 日星期五 20:04:53 剩余
时间:11040 秒

结果应该放在这样的表中:

t = {“IP”:“192.168.128.12”,“MAC”:“AF:3G:9F:c9:32:2E”,“过期”:“2010 年 8 月 13 日星期五 20:04:53”,“剩余时间" : "11040 秒"}

我试过:

那是我最好的尝试。

0 投票
1 回答
821 浏览

string - 用于提取/替换//中的值的Lua模式

我有一个字符串hello /world today/

我需要替换/world today//MY NEW STRING/

阅读我发现的手册

我可以用 withgsub替换,但我想知道是否还有一种优雅的方式来返回 之间的文本/,我知道我可以修剪它,但我想知道是否有模式。

0 投票
1 回答
125398 浏览

string - Lua 字符串替换

我该怎么做?

我懂了:

它应该返回“Hi”,但它将插入符号作为模式字符

有什么办法可以解决这个问题?(必须在 gsub 中完成)

0 投票
4 回答
2968 浏览

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

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

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

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

在不工作的示例中,我希望它匹配(我创建了一个获得我想要的匹配的函数,我只是在寻找一种与 gsub 一起使用的模式,并且好奇 lua 模式是否可以做到这一点):

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

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

0 投票
1 回答
1347 浏览

xml - 查找与 Lua 中的模式匹配的第一个字符串(XML 模式匹配)

我目前正在使用以下代码来解析 Xml 文件的一部分(我首先将整个文件读入单个字符串)。

我遇到的问题是 for 循环只执行一次,因为 gmatch 函数只返回一个字符串,该字符串从 MyXmlElement 的第一个实例开始,到 MyXmlElement 的最后一个实例的关闭结束。如何解析字符串,以便在第一次"</MyXmlElement>"找到字符串时匹配模式(而不仅仅是最后一种情况)?