2

我正在尝试学习如何在 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

我已经编写了正则表达式,它从第一个案例中检索我的文件名:

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

类似的正则表达式从第二种情况中检索我的文件名:

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

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

4

1 回答 1

2

如果这两种情况是您唯一的情况,那么从后面开始匹配文件名很容易:

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

为了扔掉逗号分隔的部分,我会求助于类似的东西

filepath=string.gsub(url,'%w+,', '')
于 2011-07-28T13:47:19.520 回答