JS_正则表达式_获取指定字符之后指定字符之前的字符串

一个常见的场景,获取:标签背景图片链接:

如字符串:var bgImg = "url("https://img30.360buyimg.com/sku/jfs/t26203/262/100869187/204098/1d1479e9/5b84b80bNf39db45f.jpg")";

脚本:

备注:以下脚本直接写在JS里,语法检查失败,但是可以直接在谷歌的控制台正常使用,可能JS还不支持该写法:/(?<=X)/。 不过不影响使用,也可以这样写: new RegExp("(?<=X)");

var backgroundImageRegex=/(?<=url(").+(?="))/;

var matchResult=bgImg.match(backgroundImageRegex);
if(matchResult.length>0){
    alert(matchResult[0]);
}

划重点:

0-特殊字符:()"    这三个需要转义

1-获取指定字符串之后:  (?<=指定字符串)

2-获取指定字符串之前: (?=指定字符串)

该匹配规则在正则表达式里叫:断言匹配,可见参考资料如下

参考资料:

https://developer.mozilla.org/zh-CN/docs/Web/JavaScript/Guide/Regular_Expressions

原文地址:https://www.cnblogs.com/lxhbky/p/9946045.html