Javascript regexp取代所有<br />

Tom*_*len 5 javascript regex

我正在尝试替换<br />标签后出现的任何</h2>标签.这是我到目前为止:

Text = Text.replace(new RegExp("</h2>(\<br \/\>.+)(.+?)", "g"), '</h2>$2');
Run Code Online (Sandbox Code Playgroud)

它似乎没有用,任何人都可以帮忙吗?(没有找到匹配项).

测试用例:

<h2>Testing</h2><br /><br /><br />Text
Run Code Online (Sandbox Code Playgroud)

至:

<h2>Testing</h2>Text
Run Code Online (Sandbox Code Playgroud)

mVC*_*Chr 15

这比你想的更简单:

Text = Text.replace(new RegExp("</h2>(\<br \/\>)*", "g"), "</h2>");
Run Code Online (Sandbox Code Playgroud)


ser*_*rby 5

这会做你要求的:

Text = Text.replace(new RegExp("</h2>(<br />)*", "g"), '</h2>');
Run Code Online (Sandbox Code Playgroud)


mu *_*ort 5

如果你有jQuery踢,那么你可以安全地做到这一点没有正则表达式:

var $dirty = $('<div>').append('<p>Where is<br>pancakes</p><h2>house?</h2><br><br>');
$dirty.find('h2 ~ br').remove();
var clean = $dirty.html();
// clean is now "<p>Where is<br>pancakes</p><h2>house?</h2>"
Run Code Online (Sandbox Code Playgroud)

这也将针对隔离之间的差异<br>,<br/>,<br />,<BR>,等.