ゆず日記

戦う Vimmer 兼 Dvorakユーザ 兼 Kinesisユーザ 兼 おぺらー が戦わないブログ

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>"]