我收到了以下字符串:
"url("http://localhost/image/user/temp/n9cec42c939ab461cac7852c267413b1b.jpg")"
如何使用javascript正则表达式提取文件名?
我尝试了[^ /] + $但它最后保留了“。”
谢谢。
答案 0 :(得分:0)
拆分反斜杠,弹出以获取最后的结果,然后删除")
'url("http://localhost/image/user/temp/n9cec42c939ab461cac7852c267413b1b.jpg")'.split('/').pop().replace('\")', '')
或者如果RegExp只是你的事情:
var url = 'url("http://localhost/image/user/temp/n9cec42c939ab461cac7852c267413b1b.jpg")';
url.match(/.+\/(.+)\"\)/)[1]; // file name
答案 1 :(得分:0)
[^/]+"\)$
会对你的例子起作用。如果那不是您所追求的,请在您的问题中提供更多详细信息。
答案 2 :(得分:0)
使用正则表达式,您可以使用:
'url("http://localhost/image/user/temp/n9cec42c939ab461cac7852c267413b1b.jpg")'.match(/\/([\d\w]+\.[\w]+)/)[1]
假设您的文件名包含a-z + 0-9和三个字符的扩展名
答案 3 :(得分:0)
非常接近你写的是
/[^\/]+(?=\"\)$)/
例如
/[^\/]+(?=\"\)$)/.exec(s)
其中s
是您的示例字符串,返回正确的文件名。
(解释:对于正则表达式,(?=...)
形式表示必须跟随匹配但不应被视为匹配的一部分。