我将如何在 Lua 中提取模式之间的文本。例如
s="this is a test string. <!2014-05-03 23:12:08!> something more"
- 结果我只需要日期/时间:
2014-05-03 23:12:08
print(string.gsub(s, "%<!.-%!>"))
不起作用 - 我需要所有没有日期/时间的文本,例如:
"this is a test string. something more"
我将如何在 Lua 中提取模式之间的文本。例如
s="this is a test string. <!2014-05-03 23:12:08!> something more"
2014-05-03 23:12:08
print(string.gsub(s, "%<!.-%!>"))
不起作用"this is a
test string. something more"
该模式"<!.-!>"
有效,但您需要用于string.match
获取日期/时间部分:
print(string.match(s, "<!(.-)!>"))
请注意,您不需要转义!
或<
模式。当然,逃避它们并不是错误。
要获取没有日期/时间部分的字符串,请将其替换为空字符串:
local result = string.gsub(s, "<!.-!>", "")
print(result)
您还可以扩展模式.-
以进一步验证日期/时间的格式:
result = string.gsub(s, "<!%d%d%d%d%-%d%d%-%d%d%s+%d%d:%d%d:%d%d!>", "")