カテゴリ: JavaScript 更新日: 2026/01/24

JavaScriptの正規表現で多行テキストを扱うテクニック

JavaScriptの正規表現で多行テキストを扱うテクニック
JavaScriptの正規表現で多行テキストを扱うテクニック

先生と生徒の会話形式で理解しよう

生徒

「先生、JavaScriptで複数行にわたる文章から特定のパターンを探したいです。」

先生

「それなら、正規表現のmフラグや[\s\S]のようなテクニックを使うと便利です。mはマルチラインの意味で、文章全体を行ごとに検索できます。」

生徒

「具体的にはどんな書き方になるんですか?」

先生

「順番に例を見ていきましょう。」

1. mフラグで行頭・行末を扱う

1. mフラグで行頭・行末を扱う
1. mフラグで行頭・行末を扱う

通常、^は文字列の先頭、$は文字列の末尾にマッチします。しかし、mフラグを使うと各行の先頭と末尾にもマッチします。


const text = `こんにちは
JavaScript
楽しいです`;
const regex = /^JavaScript/m;
const matches = text.match(regex);
console.log(matches); // ["JavaScript"]

このように、複数行のテキストでも行頭のパターンを検出できます。

2. [\s\S]で改行を含む全体を検索

2. [\s\S]で改行を含む全体を検索
2. [\s\S]で改行を含む全体を検索

正規表現の.は通常改行文字にマッチしません。改行も含めて全体を検索したい場合は[\s\S]と書きます。\sは空白文字、\Sは空白以外の文字です。


const text = `タイトル
本文1
本文2`;
const regex = /タイトル[\s\S]*本文2/;
const matches = text.match(regex);
console.log(matches); // ["タイトル\n本文1\n本文2"]

これで、複数行にまたがる文章全体を1つのパターンとして取得できます。

3. 複数行の先頭と末尾を同時に扱う

3. 複数行の先頭と末尾を同時に扱う
3. 複数行の先頭と末尾を同時に扱う

^$mフラグと組み合わせることで、複数行の各行で条件を確認できます。


const text = `エラー: ファイルが見つかりません
警告: ディスク容量が少ない
情報: 処理が完了しました`;
const regex = /^(エラー|警告)/gm;
const matches = text.match(regex);
console.log(matches); // ["エラー","警告"]

これにより、複数行の中で特定の行だけを抽出できます。

4. replaceメソッドで複数行を一括変換

4. replaceメソッドで複数行を一括変換
4. replaceメソッドで複数行を一括変換

正規表現を使ってreplaceすると、複数行にまたがるテキストもまとめて置換できます。


const text = `JavaScript
Java
Python`;
const result = text.replace(/JavaScript/g, "JS");
console.log(result);
/*
JS
Java
Python
*/

これで複数行のテキストの中から特定の文字列を一括で変換できます。

5. 注意点とテクニック

5. 注意点とテクニック
5. 注意点とテクニック
  • 改行文字を含むパターンは[\s\S][^]を使う
  • 行頭・行末を扱う場合はmフラグを忘れずに
  • 複数行テキストでは、マッチの位置を確認する場合はexecとループを組み合わせると便利
  • 置換する場合はreplaceメソッドとgフラグを併用する

これらのテクニックを覚えると、複数行にわたる文章でも柔軟に正規表現を活用できます。

カテゴリの一覧へ
新着記事
New1
TypeScript
TypeScriptの関数に型をつける方法(引数・戻り値)を初心者向けに徹底解説!
New2
TypeScript
TypeScriptの始め方:開発環境の構築手順【初心者向け】
New3
TypeScript
TypeScriptでExpressのミドルウェアを型安全に定義する方法!バックエンド開発の初心者向け解説
New4
JavaScript
JavaScriptのfilterメソッドで条件に合う要素を抽出する方法
人気記事
No.1
Java&Spring記事人気No1
JavaScript
JavaScriptでフォームの値を取得する方法を徹底解説!valueプロパティの使い道
No.2
Java&Spring記事人気No2
JavaScript
JavaScriptでHTML5バリデーションAPIを使いこなす!初心者でもわかるフォーム入力チェック
No.3
Java&Spring記事人気No3
TypeScript
TypeScript学習におすすめの無料教材・リファレンスサイト【初心者向け】
No.4
Java&Spring記事人気No4
TypeScript
TypeScriptでコメントを書く正しい書き方と使い分け【初心者向けにやさしく解説】
No.5
Java&Spring記事人気No5
JavaScript
JavaScriptのインストール方法まとめ!Windows・Mac・Linux別にステップ解説
No.6
Java&Spring記事人気No6
JavaScript
JavaScriptで要素を削除する方法(removeChild, removeなど)
No.7
Java&Spring記事人気No7
JavaScript
JavaScriptの配列操作でよくあるエラーとその解決法まとめ
No.8
Java&Spring記事人気No8
JavaScript
JavaScriptの現在日時を取得する方法を完全ガイド!初心者でもわかるDate.now()とnew Date()