问题标签 [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 投票
1 回答
1478 浏览

regex - 用于指导的 Lua 模式

我正在尝试在 Lua 中实现一个模式但没有成功

我需要的模式就像正则表达式:[a-f0-9]{8}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{12}

这是为了验证guid

我无法找到在 Lua 中找到实现正则表达式的正确方法,也无法在文档中找到。

请帮助我为 guid 实施上述正则表达式。

0 投票
1 回答
99 浏览

string - 如何将单个数字和用连字符分隔的数字与string.match匹配?

我正在尝试匹配两种类型的字符串。我想把他们两个都抓起来,但到目前为止我只能抓到一个。

输入字符串是:10-10010

我的第一个字符串按预期返回,但我的第二个(单个数字)返回nil/match not found。

我想检查是否包含模式的第二部分,因为它应该总是打印出我的min变量。

0 投票
1 回答
282 浏览

unicode - 如何在 Lua 中搜索 Unicode 空白字符

我想使用 Lua 在文件中搜索Unicode 空白字符。对于 ASCII 我们可以使用%s,但我没有找到任何东西来搜索 Unicode 文件中的空白字符。

0 投票
0 回答
1594 浏览

lua - 使用 string.match 获取 Lua 模式的最后一次出现

使用 Lua,我使用以下模式从大型 XML 字符串中解析最后出现的 XML 标记:

然后,我使用以下代码查找每个事件:

它看起来不是很快,所以我尝试在模式的开头添加一个贪婪字符:

在解析之前和之后打印os.clock()我发现第二个模式稍微快一些,但我必须认为有更好的模式来匹配最后一次出现的 xml 标记。

我也尝试了第三种模式,但它只返回 xml 标记的第一个实例。

0 投票
1 回答
862 浏览

string - 从模式中提取的 Lua XML

一个应用程序正在向我的脚本发送一个像这样的流:

我想提取该TheNodeImLookingFor部分。到目前为止,得到:

模式在流中被识别,但它不提取节点及其内容。

0 投票
1 回答
3508 浏览

url - 在字符串 lua 模式中查找 url

使用 Lua 模式匹配我希望能够解析字符串并找到以下 URL

斜线可以是可选的,但如果包含它,它必须能够找到嵌套文件夹,例如:

这样我就可以使用单个模式匹配来查找 url。问题是我使用的所有示例要么不起作用,要么导致魔兽世界永远不会离开加载屏幕出现一些我自己无法解决的错误。

我不再拥有我在代码中使用的模式,因此我可以使用一种可以正常工作且不会挂钩不正确 URL 的模式。如果以后需要,我会想出一些。

0 投票
1 回答
2177 浏览

lua - string.match 抛出错误:尝试索引字段“?” (一个字符串值)

我正在尝试匹配文本文件中一行文本上的三段数据并将它们存储在表元素中。每行看起来像这样:

我有一个本地表来保存文本行,我正在尝试按如下方式分配数据片段。

data[i] = line部分工作得很好。下一行没有。我得到的只是在线上的以下错误data[i].start, data[i].out, data[i].name = string.match( line, '(%S+)%s*(%S+)%s*(%S+)' )

我究竟做错了什么?

0 投票
2 回答
231 浏览

string - 使用端口号对 IPv4 地址进行排序

我正在尝试更改其中包含端口号的 IP 地址字符串,以便对表格进行排序,例如 IP 字符串:

我可以删除.'s 和:with:

这给了我120886699075,但我想将 only 更改:为 a.所以它给了我120886699.075

编辑:

实际上我想要的是不起作用,因为它没有考虑.'s之间的数字数量所以我想要的是一种以给定格式对ip进行排序的方法,因此可以包含原始ip字符串的表排序。

编辑2:

我有这个几乎可以解决这个问题:

但我必须松开端口才能正确排序,理想情况下我想在排序中包含端口号,因为 ip 可能来自同一来源但不同的计算机。

0 投票
1 回答
4615 浏览

string - Lua 中带空格的模式

我怎么能string.gmatch(text, pattern)这样做:

我一直在使用"%w+%p",但这会导致:

这不是预期的结果。

注意:我没有测试过这个确切的字符串,它可能会有所不同......但仍然不会产生所需的结果

0 投票
1 回答
3535 浏览

string - Lua string.gsub 模式之间的文本

我将如何在 Lua 中提取模式之间的文本。例如

  1. 结果我只需要日期/时间: 2014-05-03 23:12:08
    print(string.gsub(s, "%<!.-%!>"))不起作用
  2. 我需要所有没有日期/时间的文本,例如:"this is a test string. something more"