这个模式的javascript REGEX是什么:url(** someurl **)

时间:2013-07-10 08:50:30

标签: javascript regex url expression

示例:

URL(http://xevens.dev/images/slider-bg.jpg

我需要括号内的值。我可以删除'url('和')'部分,但它的丑陋。我想要这个正则表达式。

请帮助

3 个答案:

答案 0 :(得分:1)

为什么要这么多使用正则表达式?似乎显而易见的解决方案是使用substring

function getUrl(urlString) {
    return urlString.substring(
        urlString.indexOf('(') + 1, 
        urlString.lastIndexOf(')'))
}

使用它的例子:

var test = 'url(http://xevens.dev/images/slider-bg.jpg)';
console.log(getUrl(test));

不要忘记网址可以包含括号。这使得Regex解决方案变得棘手。

答案 1 :(得分:0)

^url\(.*\)$ # Will match any string starting by "url(" and ending by ")". Replace the "*" by "+" if you want to ignore the "url()" match

但是有更有效的方法可以做到这一点。例如,您可以在括号上拆分,因为网址不能包含括号。

答案 2 :(得分:0)

同意@RobH。

然后,您可以使用regular expression检查网址是否有效。

你应该避免在任何地方使用正则表达式,比如你的url()前缀/后缀。正则表达式很难阅读,理解和维护。