lua简单正则表达式问题
我正在尝试学习如何在 lua 中使用正则表达式,但没有看到结果,所以我寻求帮助。
我有两种类型的网址:
1) /a/b/c/d/some,text,commas,and,so,on,FILE.dat
2) /a/b/c/d/FILE.dat
我需要做两件事:
- 获取文件名的子字符串:
FILE.dat
- 获取路径的子字符串:
/a/b/c/d/FILE.dat< /code>
我编写了正则表达式,它从第一种情况中检索文件名:
string.match(url, ".*,(.*)")
类似的正则表达式从第二种情况中检索文件名:
string.match(url, ".*/(.*)")
现在你能告诉我,如何将这两个正则表达式合并为一个吗?
I'm trying to learn how to use regexps in lua but I see no results, so I'm asking for help.
I got two types of url:
1) /a/b/c/d/some,text,commas,and,so,on,FILE.dat
2) /a/b/c/d/FILE.dat
I need to do two things:
- get substring with filename:
FILE.dat
- get substring with path:
/a/b/c/d/FILE.dat
I have written regex which retrieves me a filename from a first case:
string.match(url, ".*,(.*)")
similar regex retrives me a filename from second case:
string.match(url, ".*/(.*)")
Now can You tell me, how to merge this two regexs into one?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
如果这两种情况是您唯一的情况,那么从后面开始匹配文件名很容易:
为了扔掉逗号分隔的部分,我会采取类似的方法
If those two cases are your only ones, matching for the filename is easy starting from the back:
For tossing out the comma separated part I'd resort to something like