2012-06-12 17 views
10

私は改行に基づいてテキストにpタグとbrタグを追加するテキストフォーマッタを構築しようとしています。私は現在これを持っています:Javascriptは一致するグループを置き換えます

s.replace(/\n\n/g, "\n</p><p>\n"); 

これは、段落の終わりと始まりの作成にはうってつけです。しかし、
インスタンスを見つけようとするとうまくいきません。それは括弧を無視し、全体の正規表現の一致を置き換えとしてマッチしたグループの交換を実行しようとすると、機能していません。

s.replace(/\w(\n)\w/g, "<br />\n"); 

私はまだマッチ全体を交換しますが、最初の一致に(gオプションを削除しようとしました)。これを行う別の方法がありますか?

ありがとうございます!

答えて

18

あなたが交換したくない部分をキャプチャし、それらをグループ番号が続く$と置換文字列に含めることができます。部品を参照することで詳細はMDNドキュメントで

s.replace(/(\w)\n(\w)/g, "$1<br />\n$2"); 

See this section置換文字列内の入力文字列の

+1

優れた、完璧に動作し、理にかなっています! – Asherlc

2

キャッチも周囲の文字は:

s.replace(/(\w)(\n\w)/g, "$1<br />$2"); 
関連する問題