【发布时间】:2021-04-30 08:50:46
【问题描述】:
我正在寻找一个正则表达式来实现以下目标:
当我的输入是root:Folder1:fname 时,我想得到fname
当输入字符串为root:Folder1:'fname' 时再次得到fname (没有引号!)。
对于前者[^:?]*$ 似乎完成了工作,但我找不到一个正则表达式来匹配这两种情况。
是否可以使用单个正则表达式来做到这一点?尝试使用条件正则表达式来实现它,但我做不到。
欢迎任何其他提示/解决方案。
谢谢。
edit:路径的格式不固定,引号可能出现在别处(例如 root:'Folder with spaces1':fname 或 root:'Folder with spaces1':'fname')。我猜的解决方案是向后搜索,因为我们要捕获的文件名在 last 冒号之后是 always。
【问题讨论】:
-
你的意思是写
root:Folder1:'fname'而不是root:Folder1:'name'? -
@TJ 是的。我编辑了帖子。