在此正则表达式中:
let str = "hello 〔world〕,foo、bar。";
str.replace(/(〔(.*?)〕|(、)|(,)|(。))/gi,'<div>$1</div>');
如何从结果中排除这两个方括号“〔”和“〕”?
为了获得此结果:
"hello <div>world</div><div>,</div>foo<div>、</div>bar<div>。</div>"
答案 0 :(得分:1)
可以使用两个组来代替单个组。在基于组的回调中,您可以相应地返回值
let str = "hello 〔world〕,foo、bar。";
str = str.replace(/〔(.*?)〕|((…)|(。)|(,)|(、))/gi,(match,g1,g2)=>`<div>${g1 ? g1 : g2}</div>`);
console.log(str)