const str = ` <html> <body> <div>第一个div</div> <p>这是一个p</p> <span>span</span> <div>第二个div</div> <body> </html>`;const regExp = /<div>(.*)<\/div>/g;{ function selectDiv(regExp, str) { let matches = []; while (true) { const match = regExp.exec(str); if (match == null) { break; } matches.push(match[1]); } return matches; } const res = selectDiv(regExp, str); console.log(res); // [ '第一个div', '第二个div' ] }{ console.log(str.match(regExp)); // [ '<div>第一个div</div>', '<div>第二个div</div>' ] }{ function selectDiv(regExp, str) { let matches = []; str.replace(regExp, (all, first) => { matches.push(first); }); return matches; } const res = selectDiv(regExp, str); console.log(res); // [ '第一个div', '第二个div' ] }{ function selectDiv(regExp, str) { let matches = []; for (let match of str.matchAll(regExp)) { matches.push(match[1]); } return matches; } const res = selectDiv(regExp, str); console.log(res); // [ '第一个div', '第二个div' ]}