例子:
网址(http://xevens.dev/images/slider-bg.jpg)
我需要括号内的值。我可以去掉'url('和')'部分,但它很难看。我想要这个在正则表达式中。
请帮忙
为什么你这么想使用正则表达式?似乎显而易见的解决方案是只使用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));
不要忘记 url 可以包含括号。这就是使 Regex 解决方案变得棘手的原因。
^url\(.*\)$ # Will match any string starting by "url(" and ending by ")". Replace the "*" by "+" if you want to ignore the "url()" match
但是有更有效的方法来做到这一点。例如,您可以在括号上拆分,因为 url 不能包含括号。