首页 > 解决方案 > 获取 url("") 中的值

问题描述

我正在尝试使用以下正则表达式:

[^url("](.*(?:jpg|jpeg|png|gif))

但我只需要value里面url(" ")

例子:

标签: javascriptregex

解决方案


尝试这个:

const str = 'background: #fbfbfb url("34eb1bd00e8e0e4f59a33f654edc483a.jpg");';
const regex = /^.*?url\(['"]?([^'"\)]*)['"]?\).*$/;
let result = str.replace(regex, '$1');
console.log(result);

输出:

34eb1bd00e8e0e4f59a33f654edc483a.jpg

解释:

  • ^- 在开始时锚定
  • .*?- 非贪婪扫描
  • url\(- 字面意思url(
  • ['"]?- 可选引号
  • ([^'"\)]*)- 捕获包含所有内容的组,直至报价或)
  • ['"]?- 可选引号
  • \)- 字面意思)
  • .*$- 全部匹配到字符串结尾

推荐阅读