问题标签 [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.
string - Lua 中平衡括号的可选捕获
假设我有以下形式的行:
如您所见,括号中的表达式是可选的。
我可以使用 Lua 解析这些字符串string.match()
吗?
以下模式适用于包含括号的行:
但是是否有一种模式可以同时处理可选括号?以下不起作用:
可以用另一种方式编写模式来解决这个问题吗?
string - 如何检查字符串中名称的出现?
我在一个变量中有一个用空格分隔的名称列表,如下所示:
我想要的是检查此列表中某些指定名称的存在。像
lua - 在 Lua 中是否有一种高效而优雅的截断数字的方法?
我想做的事
我想要做的真的很简单。我想使用 Lua 检查 Plist 文件中的行。
假设如果 Plist 中的一行是<integer>-1.00</integer>
,我需要切断.00
它以使其成为<integer>-1</integer>
。
我做了什么
我使用一个函数来读取整个文件内容并逐行检查和替换。
我的问题
有没有更高效、更优雅的方式来完成同样的工作?
string - 如果 Lua 中最多有一个错误字符,则比较字符串
我有一个词,我想检查它是否等于另一个词。如果是这样,那么一切都是正确的,但如果有一个(并且只有一个)错误的字符,它也可能是正确的。
我该如何拆分word2
?
lua - 为什么这种 Lua 模式不起作用?
我的正则表达式在http://regexr.com?37voi上运行良好。
如果我将其更改为("^(%w+)%s+(%w+)%s+")
,它将输出:
如果我querycreate
通过将引号设置为"create user dddqwd123_dwqd @ localhost"
并使用来删除引号^(%w+)%s+(%w+)%s+(%w+) @ (%w+)$
,那么输出是正常的。
string - 匹配路径的 Lua 模式
我想取一个代表文件路径的字符串,去掉文件名并只保存路径。
例如,如果我有:
我想"/folder1/folder2/"
在我的字符串中结束。
我一直在玩string.match()
这里记录的:http: //lua-users.org/wiki/StringLibraryTutorial
我有以下代码:
当我运行这个脚本时,我最终只返回了一个“/”。我期待它会返回字符串中两个“/”的位置。我也尝试用"%/"
just替换模式,"/"
但这给了我相同的结果。
我确定我错过了一些非常简单的东西,但我看不出它是什么。
arrays - 从 gmatch 返回的列表在 Lua 中创建数组
我正在用 Lua 编程,到目前为止我有这个。
我怎样才能做到这一点。
lua - 为什么 string.find 返回整个模式的索引,而不是第一次捕获?
我想知道这段代码的行为:
尽管这两行都在寻找并返回不同的字符串,但它们返回相同的索引,因为它们具有相同的参考框架。换句话说,在计算索引时会忽略捕获,但随后会正常返回。
我最初的问题是关于出了什么问题,但后来我看到手册实际上表明这是正确的行为(虽然不是很清楚)。
问题是我试图根据附近的标记找到一些东西,而没有返回该标记的位置。我希望string.find
返回第一次捕获的位置,如果有的话,所以我只是用括号包裹了我想要的位置。显然,这没有帮助。我找到了一个不同的(更好的)解决方案,但我认为这并不总是可行或方便的。
有任何理由string.find
这样做吗?对用户有什么特别的好处吗?如果您对 Lua 有绝对的掌握:实际上是否没有导致严重问题的情况?
string - 在 Lua 中的给定 URL 字符串中查找模式
在我的 Lua 代码中,我收到了很多字符串形式的 URL。
例子 :
我想获取那些像这样的 URL:
https://www.xyz.com/v/123443/css/
where v
是预定义的字符串模式,并且123443
是生成到 URL 的随机版本。
请帮助我获取所有具有该模式的 URL,例如:
"/v/12332323/"
string - 非英文字符的 string.sub 问题
我需要获取文本变量的第一个字符。我通过以下简单方法之一实现了这一点:
或者
如果我执行以下操作,我希望得到'ñ'
第一个字母。但是,这两种sub
方法的结果都是'Ã'
以下是控制台的结果:
似乎该string.sub()
函数正在以 UTF-8 编码返回的值。只是为了好玩,我尝试使用utf8_decode()
Corona SDK 提供的功能。它没有成功。模拟器表明该函数需要一个数字,但却得到了nil
。
我还搜索了网络,看看是否有其他人遇到过这个问题。我发现有很多关于 Lua、Corona、Unicode 和 UTF-8 的讨论,但我没有遇到任何可以解决这个特定问题的东西。