我有这个网址:
C:\Projects\Ensure_Solution\GD_EServices_Web\App_WebReferences\GD_Eservices_Web_Service\GD_Eservices_Web_Service.wsdl
C:\Projects\Ensure_Solution\GD_EServices_Web\App_WebReferences\GD_Eservices_Web_Service\GD_Eservices_Web_Service.wsdl
我想获取wsdl文件名(没有前导斜杠)
我已经成功完成了两个解决方案:
\\[^\\]+$
\\(.(?!\\))+$
但是这会返回前导斜杠:http://regexr.com?32lvi
我如何增强我的正则表达式仅该文件?
答案 0 :(得分:1)
这应该有效[^\\]+$
但对于你的情况,我更喜欢像string.split('/').pop()
(javascript)或array_pop(split('/', string))
(对于php,我不知道你使用的语言)而不是regexp。
答案 1 :(得分:1)
尝试使用否定前瞻(?!\\)(.(?!\\))+$
答案 2 :(得分:1)
您只需要排除正则表达式中的前导斜杠。
var path = 'C:\\Projects\\Ensure_Solution\\GD_EServices_Web\\App_WebReferences\\GD_Eservices_Web_Service\\GD_Eservices_Web_Service.wsdl';
console.log(path.match(/[^\\]+$/));
你可以在没有正则表达式的情况下使用split
,并使用pop
获取最后一个元素:
console.log(path.split('\\').pop());
答案 3 :(得分:0)
试试这个
\\[^\\]+$
注意:这意味着只尝试一个前导反斜杠
答案 4 :(得分:0)