Regular Expressions - MDNには以下のように書いてあります。
正規表現リテラル
RegExp コンストラクタ関数
パターンが変わらない場合・繰り返し使う場合にはリテラルを使うことが望ましいようです。
ではどの程度パフォーマンスに差があるのでしょうか。実験してみました。
var reg = /(\d{6})/g; var str = "123123444456789789456"; var results = str.match(reg); alert(results); var reg = new RegExp("(\d{6})", "g"); var str = "123123444456789789456"; var results = str.match(reg); alert(results);
確かにリテラルのほうがほんのり速いようですが…。気にするほどの差は無いようです。 |
Code Tips > JavaScript正規表現 >