此模式的javascript正则表达式是什么:url(**someurl**)

此模式的javascript正则表达式是什么:url(**someurl**),javascript,regex,url,expression,Javascript,Regex,Url,Expression,例如: url() 我需要括号内的值。我可以去掉“url('和')”部分,但它很难看。我要用正则表达式 请帮忙 ^url\(.*\)$ # Will match any string starting by "url(" and ending by ")". Replace the "*" by "+" if you want to ignore the "url()" match 但是有更有效的方法来做到这一点。例如,由于url不能包含括号,所以可以使用括号进行拆分。为什么要如此频繁地使用正

例如:

url()

我需要括号内的值。我可以去掉“url('和')”部分,但它很难看。我要用正则表达式

请帮忙

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

但是有更有效的方法来做到这一点。例如,由于url不能包含括号,所以可以使用括号进行拆分。

为什么要如此频繁地使用正则表达式?显然,解决方案是只使用
子字符串

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));
不要忘记url可以包含括号。这就是正则表达式解决方案的难点。

同意@RobH

然后,您可以检查URL是否有效


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

“询问代码的问题必须证明对正在解决的问题的最低理解。告诉我们您尝试了什么,为什么它不起作用,以及它应该如何起作用。”--StackOverflow。为什么是正则表达式?您当前的解决方案有效吗?似乎分开就可以了。。。