Javascript 正则表达式多次替换组

Javascript 正则表达式多次替换组,javascript,regex,Javascript,Regex,我正在尝试使用以下正则表达式删除所有html标记: <.+>(.+)</.+> (.+) 我是这样替换的: "<b onclick=\"foo\">Foo</b> bar".replace(new RegExp("\\<.{1,}\\>(.{1,})\\</.{1,}\\>", "g"), "$1") “Foo-bar”.replace(新的RegExp(“\\(.{1,})\\”,“g”),“$1”) 这很好,但

我正在尝试使用以下正则表达式删除所有html标记:

<.+>(.+)</.+>
(.+)

我是这样替换的:

"<b onclick=\"foo\">Foo</b> bar".replace(new RegExp("\\<.{1,}\\>(.{1,})\\</.{1,}\\>", "g"), "$1")
“Foo-bar”.replace(新的RegExp(“\\(.{1,})\\”,“g”),“$1”)
这很好,但是,这不起作用:

"<b onclick=\"foo\">Foo</b> bar <b>hello</b>".replace(new RegExp("\\<.{1,}\\>(.{1,})\\</.{1,}\\>", "g"), "$1")
“Foo bar hello”.replace(新的RegExp(“\\”(.{1,})\\”,“g”),“$1”)
既然我得到了
你好

使用懒惰而不是贪婪

<.+?>
输出:

Foo bar hello
您可以这样做:

result = subject.replace(/<[^>]*>/g, "");
result=subject.replace(/]*>/g,”);
解释

  • 匹配字符“]*
    • 在零次和无限次之间,尽可能多次,根据需要回馈(贪婪)
      *
  • 按字面意思匹配字符“>”
result = subject.replace(/<[^>]*>/g, "");