我有以下路径:
O:\Audits\Crisis Management 2016\2016 ECPR Final Report.pdf
我需要一个正则表达式,该表达式返回路径中最后一个文件夹的名称(最右侧),该名称将为“ Crisis Management 2016 ”。
我尝试了(?:[^\\]*\\|^)[^\\]*$
,它很接近,但返回的是“ 危机管理2016 \ 2016 ECPR Final Report.pdf ”,其中包括结尾的反斜杠和文件名。 / p>
谢谢!
答案 0 :(得分:1)
您可以使用
[^\\]+(?=\\[^\\]+\\?$)
请参见regex demo
详细信息
[^\\]+
-除\
以外的1个以上的字符(?=\\[^\\]+\\?$)
-一个正向超前查询,需要\
,除\
以外的1个字符和一个可选的\
,位于字符串右边紧随其后的字符串的末尾当前位置。如果您可以轻松访问捕获组并且不支持前瞻,请使用
([^\\]+)\\[^\\]+\\?$
请参见this demo。
先行转变为使用模式,第一个模式用捕获括号包裹起来(形成将子匹配保留在内存缓冲区中的第1组)。
答案 1 :(得分:0)
.*\\([^\\]+)\\