我有一个基本的正则表达式,应该在最后一个反斜杠之后返回字符串\
。
正则表达式:
/([^\\]*$)/
在Regex101中工作正常。
输出 :
random.html
但不是在下面的Javascript示例中:
console.log("C:\fakepath\extra\random.html".match(/([^\\]*$)/));
输出 :
[“ C:akepathextra andom.html”,“ C:akepathextra andom.html”,索引:0,输入:“ C:akepathextra andom.html”]
问题不在于RegEx,而是字符串本身。在JavaScript中,字符串\
用于转义以下字符。
字符串
"C:\fakepath\extra\random.html"
在逃跑之后
C:akepathextra
andom.html
要在字符串中使用反斜杠,请在反斜杠前面加上转义符。
"C:\\fakepath\\extra\\random.html"
console.log("C:\\fakepath\\extra\\random.html".match(/[^\\]*$/));
要获取最后的文本\
,请使用String#split
和Array#pop
"C:\\fakepath\\extra\\random.html".split('\\').pop() // random.html
^^ Note: this backslash also need to be escaped.
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句