const str = "<p class='demo'>hello JavaScript</p>";
const reg = /^\<.+\>(.+)\<.+\>$/;
const str1 = str.replace(reg,function (match, $1) {
return $1;
});
console.log(str1);
捕获组: 匹配x并记住匹配项。例如,/(foo)/匹配并记住“foo bar”中的“foo”
正则表达式可以有多个捕获组。结果,匹配通常在数组中捕获的组,该数组的成员与捕获组中左括号的顺序相同。这通常只是捕获组本身的顺序。当捕获组被嵌套时,这一点非常重要。使用结果元素的索引 ([1], ..., [n]
) 或从预定义的 RegExp
对象的属性 ($1, ..., $9
).
捕获组会带来性能损失。如果不需要收回匹配的子字符串,请选择非捕获括号(见下面)。
String.match()
不会返回组,如果设置了 /.../g
标志. 但是,您仍然可以使用 String.matchAll()
to get all matches.
match()不会返回组,如果/…但是,您仍然可以使用String.matchAll()来获取所有匹配项。