Javascript 正则表达式多次替换组
我正在尝试使用以下正则表达式删除所有html标记: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”) 这很好,但
<.+>(.+)</.+>
(.+)
我是这样替换的:
"<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, "");