JavaScript正規表現での最短マッチと、改行が含まれた文字列のマッチ
今更かもですがメモ。
最短マッチ
var hoge = "<div class='wrap'><div class='target'>(・ω・ ミ 3 )∋</div></div>"; hoge.match(/<div class='target'>.*<\/div>/); // 実行結果: ["<div class='target'>(・ω・ ミ 3 )∋</div></div>"] hoge.match(/<div class='target'>.*?<\/div>/); // 実行結果: ["<div class='target'>(・ω・ ミ 3 )∋</div>"]
改行を含めた文字列のマッチ
var hoge = "<div class='wrap'>\n<div class='target'>\n(・ω・ ミ 3 )∋\n</div>\n</div>"; hoge.match(/<div class='target'>.*<\/div>/); // 実行結果: null hoge.match(/<div class='target'>[\s\S]*<\/div>/); // 実行結果: ["<div class='target'> (・ω・ ミ 3 )∋ </div> </div>"] hoge.match(/<div class='target'>[\s\S]*?<\/div>/); // 実行結果: ["<div class='target'> (・ω・ ミ 3 )∋ </div>"]