使用 RegExp 删除单词

Removing words using RegExp

我有一个带标签的字符串。 "<blue>Hello, <red>world</red>!</blue>"。我必须使用 RegExp 获取不带标签的字符串。 我写了这段代码,但我认为它可以更容易。 str.split('<red>').join('').split('</red>').join('').split('</blue>').join('').split('<blue>').join('');
拜托,帮帮我!

试试这个:

var s = "<blue>Hello, <red>world</red>!</blue>";
s.replace(/<.*?>/g, " ");
Result -> " Hello,  world ! "

使用.replace(/<\/?(red|blue)>/g, ""):

console.log( "<blue>Hello, <red>world</red>!</blue>".replace(/<\/?(red|blue)>/g, "") )

如果您还想匹配不区分大小写的标签版本,只需在 /g 之后插入 i。这不适用于标记名称前后的属性或空格。有需要的可以评论这个答案,我会编辑的