lua简单的正则表达式问题

时间:2011-07-28 13:36:37

标签: regex lua lua-patterns

我正在尝试学习如何在lua中使用正则表达式,但我看不到任何结果,所以我正在寻求帮助。

我有两种类型的网址:

1) /a/b/c/d/some,text,commas,and,so,on,FILE.dat 
2) /a/b/c/d/FILE.dat

我需要做两件事:

  1. 获取带有文件名的子字符串:FILE.dat
  2. 使用路径获取子字符串:/a/b/c/d/FILE.dat
  3. 我写的正则表达式从第一个案例中检索了一个文件名:

    string.match(url, ".*,(.*)")
    

    类似的正则表达式从第二种情况中回复了一个文件名:

    string.match(url, ".*/(.*)")
    

    现在可以告诉我,如何将这两个正则表达式合并为一个?

1 个答案:

答案 0 :(得分:2)

如果这两个案例是你唯一的案例,那么从后面开始就很容易匹配文件名:

filename=string.match(url,'([%w_]+%.%w%w%w)$')

为了抛出逗号分隔的部分,我会采用像

这样的东西
filepath=string.gsub(url,'%w+,', '')