我有以下字符串:
<div style="background-image:url(some src); background-color:some color;">
<div style="background-image:url(some src); background-color:some color;"> </div>
</div>
我需要在此字符串中找到所有背景图片网址。现在我遵循正则表达式:/background-image.*[);]/g
但它需要背景图像和背景颜色,它只给我一次而不是两次。
答案 0 :(得分:0)
用这个代替你的正则表达式:
/(background-image.*?(?:;))/g
/(
分隔符和捕获组background-image
在字符串.*?
匹配任何字符(换行符除外) (?:
非捕获组;
匹配角色;字面上g
(修饰符)全球。所有比赛(首场比赛时不返回)
var str = '<div style="background-image:url(some src); background-color:some color;">\
<div style="background-image:url(some src); background-color:some color;"> </div>\
</div>';
var result = /(background-image.*?(?:;))/g.exec(str);
document.write(result[0]+"<br />");
document.write(result[1]);
选择style
属性(换句话说,解析HTML代码),然后选择的特定属性(在本例中为background-image
) < / p>
var str = '<div style="background-image:url(some src); background-color:some color;">\
<div style="background-image:url(some src); background-color:some color;"> </div>\
</div>';
alert($('div', str).attr("style").split(';')[0]);
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>