jQueryで文字や記号で囲まれた文字列を正規表現を使って置換する
最近、正規表現の勉強を始めて、まずよく使いそうな文字や記号で囲まれた部分を置換するというプログラムを書いてみました。
【 】で囲まれた文字列を消す
<div class="text">【1】サンプル</div>
<div class="text">2.テキ【スト】</div>
<div class="text">【3.テス】ト</div>
こんな感じのマークアップだったとします。
jQueryで一括置換
$('.text').each(function(){
var txt = $(this).html();
$(this).html(txt.replace(/【(.*?)】/g, ''));
});
実行結果
<div class="text">サンプル</div>
<div class="text">2.テキ</div>
<div class="text">ト</div>
【 】で囲まれた部分だけが置換されて削除されました。
今回使った正規表現
$(this).html(txt.replace(/【(.*?)】/g, ''));
( )
1組のグループを表します。あとで、この部分を $1 のように呼び出すこともできます。
.*
任意の文字列を表します。
?
最小の文字と一致させるときに指定します。
g
モード修飾子といい、条件に合った文字列全てに適用する場合に指定します。