JavaScript: 行の先頭にマッチする正規表現
改行含む文字列の各行についてマッチさせたいとき。
mフラグをつけると各行の先頭にマッチします。 gフラグをつけると全てのマッチする文字列を探索します。
var str = "abcd1\nabcd2\nabcd3"; var regexp1 = new RegExp(`^abcd2$`); str.match(regexp1); // null mフラグなしだと文字列全体の先頭/終端のみ var regexp2 = new RegExp(`^abcd2$`, 'm'); str.match(regexp2); // ["abcd2"] mフラグをつけると各行にマッチする var regexp3 = new RegExp(`^a.+$`, 'gm'); str.match(regexp3); // ["abcd", "abcd", "abcd"] mフラグとgフラグをつけると全ての行についてマッチさせます
- 作者: Jeffrey E.F. Friedl,株式会社ロングテール,長尾高弘
- 出版社/メーカー: オライリージャパン
- 発売日: 2008/04/26
- メディア: 大型本
- 購入: 24人 クリック: 754回
- この商品を含むブログ (87件) を見る
余談
rubyだと^$
はデフォルトで各行にマッチするので、文字列全体にマッチさせたいときは、\A\z
を使ったりしますね。