需求
匹配标签对
var str = '<div>aa</div>bb<div>cc</div>';
贪婪模式(默认模式)
通过<普通量词>实现。例如,*。
正则表达式:
var reg = /<(div)>.*<\/\1>/; // \1表示对(div)的引用
// 或写成:
var reg = /<div>.*<\/div>/;
结果:
console.log(reg.exec(str))
// 输出:
// ["<div>aa</div>bb<div>cc</div>", "div", index: 0, input: "<div>aa</div>bb<div>cc</div>", groups: undefined]
贪婪模式下,匹配的字符串会尽可能长:"<div>aa</div>bb<div>cc</div>"。
非贪婪模式
通过<普通量词>?实现。例如,*?。
正则表达式:
var reg = /<(div)>.*?<\/\1>/; // \1表示对(div)的引用
// 或写成:
var reg = /<div>.*?<\/div>/;
结果:
console.log(reg.exec(str))
// 输出:
// ["<div>aa</div>", "div", index: 0, input: "<div>aa</div>bb<div>cc</div>", groups: undefined]
非贪婪模式下,匹配的字符串会尽可能短:"<div>aa</div>"。