javascript - 正则表达式没有解析我的图像网址

标签 javascript regex

我的代码似乎为我的图像网址返回空值。我只想获取链接,但似乎不起作用。

这是我的代码:

var image_url = jQuery('#bgImgWrap').css('background'), image;

// Remove url() or in case of Chrome url("")
image_url = image_url.match(/^url\("?(.+?)"?\)$/);

以下是声明 image_url 后返回的内容:

Image: rgb(255, 255, 255) 
 url(http://localhost:8000/mysite/images/Our_Services2.jpg) 
no-repeat scroll 0% 0% / cover padding-box border-box 

这是使用我的正则表达式后返回的内容:

Image: null

我不太擅长正则表达式,但我想知道是否有人能够帮助我获得我需要的正确背景图像网址?谢谢!

最佳答案

正则表达式 /^url\("?(.+?)"?\)$/ 中的

^$ 使得它不可能匹配。这些元字符告诉正则表达式引擎分别从开始和结束进行匹配。但您的网址并未锚定在开头或结尾。正确的正则表达式是。

/url\([^)]+\)/

另请注意 .match 将返回匹配文本的数组。所以你需要通过索引访问它们。

image_url = image_url.match(/url\([^)]+\)/)[0];

关于javascript - 正则表达式没有解析我的图像网址,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23299388/

相关文章:

javascript - jQuery、DOM 和 on() 方法

javascript - 如何在 React Native 中使用 index.js 而不是 (index.ios.js, index.android.js) 进行跨平台应用程序?

javascript - 在 React 中设计 : avoid using redux store to propagate data from child to parent component?

javascript - 用逗号分割字符串,但在 JavaScript 中不进行转义

regex - 选择字符串中仅出现一次的字符

c# - 用于匹配不以 .ext(扩展名)结尾的字符串(1 个以上字符)的正则表达式

regex - A 后跟 "not A"后跟 B

javascript - get(id) 带回 id 和 null,为什么?

python - 使用 pandas 数据框列中的正则表达式删除 URL 字符串的一部分

javascript - SpiderMonkey 对比 JavaScriptCore 对比?