Lua简单正则表达式问题。

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

我有两种类型的url:

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, ".*/(.*)")

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

原文链接 https://stackoverflow.com/questions/6859834

点赞
stackoverflow用户513763
stackoverflow用户513763

如果您只有这两种情况,从文件名匹配很容易从后面开始:

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

如果要去掉逗号分隔的部分,我会倾向于使用以下代码:

filepath=string.gsub(url,'%w+,', '')
2011-07-28 13:47:19