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' ]
}