php - lua 正则表达式,用于将关键字与从 PHP 中采用的值匹配

标签 php regex lua scripting type-conversion

我有一个适用于 PCRE(PHP) 的正则表达式模式,我想在 lua 文件中使用它。

我的目标是检查一个值(字符串)以查看它是否包含键标识符,然后获取该值。

测试字符串可能包含各种字符,包括字母数字和特殊字符。字符串内部是一个键,后跟一个值:

str = 'sample12_3 Word [link:a12]'

要查找的关键短语是“[link:]”,它必须返回的值是“:”分号之后和右方括号“]”之前的值

[link:$value]

PCRE(PHP) 表达式是:

\[(link):(.+):?[^\[\]]*\]

第 1 组:“链接” 第 2 组:'a12'

谁能帮我解决这个表达式的正确 lua 迭代问题?

最佳答案

Lua 模式不被视为正则表达式,因为它们无法匹配正则语言。然而,你在这里很幸运,你可以将表达式翻译成

local str = 'sample12_3 Word [link:a12]'
result, _ = str:match("%[link:([^][]*)]")
print(result) -- => a12

参见 Lua demo .

详情

  • %[ - 匹配文字 [ 字符
  • link: - 文字 link: 文本
  • ([^][]*) - 捕获第 1 组:[] 以外的任何零个或多个字符<
  • ] - ] 字符。

:match() 函数将在此处返回捕获组的内容,因为捕获组存在于模式中。

关于php - lua 正则表达式,用于将关键字与从 PHP 中采用的值匹配,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/64714772/

相关文章:

assembly - Lua动态Asm : Any reference or links to guide me through?

php - Mysql按时间差删除()

php - 在用户数量之间平均分配金额

php - MySQL + PHP + 根据多个输入查询表中的多列,不需要所有输入

Java Regex - 匹配不在字符串内的行单词

javascript - [Value] 以外的正则表达式

php - MySQL/PHP : Multiple AND/OR tags in SELECT from two tables

c++ - 如何使用正则表达式提取字符串的不匹配部分

lua - 单击按钮时克隆+拖动模型 ROBLOX [LUA]?

lua - 在lua中分配变量并在其之间添加标点符号