Regex 使用正则表达式从字符串中提取文件名
我有一个从URL中提取的字符串,我正试图清理它。下面是字符串:Regex 使用正则表达式从字符串中提取文件名,regex,Regex,我有一个从URL中提取的字符串,我正试图清理它。下面是字符串: /Portals/0/Documents/MFG_Datasheet_Work%20and%20Asset.pdf?ver=2018-03-18-111121-810 我正在尝试提取/Documents/之后的文件名,并删除“?ver=”及其后面的所有内容,以便只拉入PDF文件名。 let str=“/Portals/0/Documents/MFG_Datasheet_Work%20和%20Asset.pdf?ver=2018-0
/Portals/0/Documents/MFG_Datasheet_Work%20and%20Asset.pdf?ver=2018-03-18-111121-810
我正在尝试提取/Documents/之后的文件名,并删除“?ver=”及其后面的所有内容,以便只拉入PDF文件名。
let str=“/Portals/0/Documents/MFG_Datasheet_Work%20和%20Asset.pdf?ver=2018-03-18-111121-810”
console.log(str.match(/.*\/([^?]+).*/)
说明:
.*/ # anything up to the last slash
([^?]+) # store anything thereafter in a group,
# up until an optional question mark
.* # optional rest (question mark and everything thereafter)
根据实现语言的不同,您想要的替换值可能是$1
(例如,在Java中)
.*/ # anything up to the last slash
([^?]+) # store anything thereafter in a group,
# up until an optional question mark
.* # optional rest (question mark and everything thereafter)