模式之间的Lua string.gsub文本

模式之间的Lua string.gsub文本,string,lua,lua-patterns,String,Lua,Lua Patterns,如何在Lua中提取模式之间的文本。比如说 s="this is a test string. <!2014-05-03 23:12:08!> something more" s=“这是一个测试字符串,还有更多” 因此,我只需要日期/时间:2014-05-03 23:12:08 打印(string.gsub,“%”)不起作用 我需要所有没有日期/时间的文本,比如:“这是一个 测试字符串。更多内容“ 模式“有效,但您需要使用string.match获取日期/时间部分: print(

如何在Lua中提取模式之间的文本。比如说

s="this is a test string. <!2014-05-03 23:12:08!> something more"
s=“这是一个测试字符串,还有更多”
  • 因此,我只需要日期/时间:
    2014-05-03 23:12:08

    打印(string.gsub,“%”)
    不起作用
  • 我需要所有没有日期/时间的文本,比如:
    “这是一个
    测试字符串。更多内容“
  • 模式
    有效,但您需要使用
    string.match
    获取日期/时间部分:

     print(string.match(s, "<!(.-)!>"))
    
    您还可以展开模式
    -
    ,进一步验证日期/时间的格式:

    result = string.gsub(s, "<!%d%d%d%d%-%d%d%-%d%d%s+%d%d:%d%d:%d%d!>", "")
    
    result=string.gsub(s,“,”)
    
    如果您可以确保文本中没有出现其他
    ;使用
    %b
    匹配:
    s:gsub('%b','')
    惊人的一个!=)
    result = string.gsub(s, "<!%d%d%d%d%-%d%d%-%d%d%s+%d%d:%d%d:%d%d!>", "")