问题标签 [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 回答
48 浏览

string - 从字符串中取出两个数字时出错

我只是在玩 Lua,试图制作一个使用字符串操作的计算器。基本上我从一个字符串中取出两个数字,然后对它们做一些事情(+ - * /)。我可以成功取出一个数字x,但取出一个数字y总是返回nil。任何人都可以帮忙吗?

0 投票
1 回答
821 浏览

string - 使用 Lua 字符串匹配的计算器

我最近在玩字符串操作,试图制作一个只接受一个字符串并返回答案的计算器。我知道我可以简单地使用 loadstring 来执行此操作,但我正在尝试了解有关字符串操作的更多信息。到目前为止,这就是我所拥有的:有什么方法可以提高效率吗?

0 投票
1 回答
160 浏览

string - Lua 中 ^ 和 gsub 的使用

  1. 我有上面提到的代码。我想知道^上面代码中运算符的用法。我知道^在集合中使用它来排除/否定集合中的后续值,但由于它不是集合,所以^意味着什么?

  2. 为什么gsub在上面的代码中使用了两次?这两次,字母都被转换为大写!请解释上面代码行中到底发生了什么。

0 投票
1 回答
122 浏览

string - 在 Lua 中使用 "("?) 与 string.find 及其返回的值

这里的作用是什么 ??我相信它正在检查双引号,但我真的不明白"("?).

我读到string.find返回匹配模式的开始和结束索引。但是根据上面的代码行aic,正在返回 3 个值。这里返回的第三个值是什么?

0 投票
1 回答
147 浏览

string - Lua 模式中“*”和“+”的使用

在上面的代码中,如果我使用%d+,我会得到12,15预期的结果,但是使用%d*,它会返回1,0。两者之间的唯一区别是它也*接受 0 值但+接受 1 或更多。但是为什么又回来了1,0

0 投票
1 回答
885 浏览

lua - 正则表达式 (\\.|.) 的任何 Lua 模式替代方案?

有一个常见的习惯用法是遍历一个字符串,它的字符可以使用 regex 用反斜杠转义(\\.|.),如下所示:

那是在 JavaScript 中。此代码将字符串更改some\astring[s][o][m][e][\a][s][t][r][i][n][g].

我知道 Lua 模式不支持 OR 运算符,所以我们不能将这个正则表达式直接翻译成 Lua 模式。

然而,我想知道:是否有另一种方法可以在 Lua 中使用 Lua 模式来执行此操作(遍历可能转义的字符)?

0 投票
1 回答
1347 浏览

string - Lua 中的 String.format 和 gsub

我有上面的代码块。

  1. string.format函数将分隔符作为其第二个参数。这是为什么?我们通常将文本块作为需要格式化的第二个参数。

  2. gsub函数通常替换给定的模式。他function(c)在其中扮演什么角色gsub?它是如何在这里调用和使用的?从哪里来?c_function(c)

0 投票
4 回答
1595 浏览

string - Lua gmatch 奇数字符(斯洛伐克字母表)

我正在尝试从斯洛伐克语中的单词字符串中提取字符。例如,“TURTLE”的单词是“KORYTNAČKA”。但是,当我尝试从字符串中提取它时,它会跳过“Č”字符:

我正在阅读这个页面,我也尝试将字符串本身作为一个集合粘贴,但它出现了一些奇怪的东西:

有谁知道如何解决这个问题?

0 投票
2 回答
798 浏览

string - Lua 5.1 中“[\0-\x7F\xC2-\xF4][\x80-\xBF]*”的等效模式

回答这个问题时,我编写了这段代码来遍历字符串中的 UTF-8 字节序列:

它在 Lua 5.2 中工作,但是在 Lua 5.1 中,它报告了一个错误:

格式错误的模式(缺少']')

\xhh我记得在 Lua 5.1 中,不支持字符串文字,所以我将其修改为:

但是错误还是一样,怎么解决呢?

0 投票
2 回答
63 浏览

string - 可能在字符串中的字符的模式

我知道我应该使用它string.match()来执行此操作,但我无法匹配字符串中“可能”的字符,例如:

我可以轻松地执行以下操作:

如果测试字符串的末尾总是有“_[0-9]+”,这很好,但可能存在末尾没有数字的情况。我将如何在 Lua 中解决这个问题?

在 Python 中,我可以执行以下操作:

我认为这样的事情会起作用:

但它没有。结果=nil

但是,以下确实有效,但只能找到第一个数字: