正则表达式提取字符串

时间:2011-10-27 19:03:18

标签: javascript regex

我收到了以下字符串:

"url("http://localhost/image/user/temp/n9cec42c939ab461cac7852c267413b1b.jpg")"

如何使用javascript正则表达式提取文件名?

我尝试了[^ /] + $但它最后保留了“。”

谢谢。

4 个答案:

答案 0 :(得分:0)

拆分反斜杠,弹出以获取最后的结果,然后删除")

'url("http://localhost/image/user/temp/n9cec42c939ab461cac7852c267413b1b.jpg")'.split('/').pop().replace('\")', '')

Example

或者如果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是您的示例字符串,返回正确的文件名。

(解释:对于正则表达式,(?=...)形式表示必须跟随匹配但不应被视为匹配的一部分。