jQuery的JavaScript正则expression式replace\ n
我如何编写一个正则expression式来replace<br />或者\n 。 我试图将文本从div移动到textarea,但不希望在textarea中显示<br> ,所以我想用\nreplace。 
 var str = document.getElementById('mydiv').innerHTML; document.getElementById('mytextarea').innerHTML = str.replace(/<br\s*[\/]?>/gi, "\n"); 
或者使用jQuery:
 var str = $("#mydiv").html(); var regex = /<br\s*[\/]?>/gi; $("#mydiv").html(str.replace(regex, "\n")); 
例
  编辑:添加i标志 
  edit2:你可以使用/<br[^>]*>/gi来匹配br和slash之间的任何东西,例如<br class="clear" /> 
 myString.replace(/<br ?\/?>/g, "\n") 
一个便宜和讨厌的将是:
 jQuery("#myDiv").html().replace("<br>", "\n").replace("<br />", "\n") 
编辑
 jQuery("#myTextArea").val( jQuery("#myDiv").html() .replace(/\<br\>/g, "\n") .replace(/\<br \/\>/g, "\n") ); 
如果需要也创build一个jsfiddle: http : //jsfiddle.net/2D3xx/
真正的jQuery方式,如果你想直接改变DOM而不搞乱内部的HTML:
  $( '#文字')find( 'BR')预定(document.createTextNode( '\ n'))删除()。; 
在元素前面插入插入,before()是我们需要的方法:
 $('#text').find('br').before(document.createTextNode('\n')).remove(); 
代码将find任何<br>元素,用新行字符插入原始文本,然后删除<br>元素。
如果使用长文本,这应该会更快,因为这里没有string操作。
要显示新行:
 $('#text').css('white-space', 'pre-line'); 
与jQuery没什么关系,但是如果你想从一个string中修剪一个模式,那么使用一个正则expression式:
 <textarea id="ta0"></textarea> <button onclick=" var ta = document.getElementById('ta0'); var text = 'some<br>text<br />to<br/>replace'; var re = /<br *\/?>/gi; ta.value = text.replace(re, '\n'); ">Add stuff to text area</button>