【JavaScript ECMAScript】RegExp::RegExp.prototype.multilineインスタンスアクセサプロパティの使い方
RegExp.prototype.multilineインスタンスアクセサプロパティの使い方について、初心者にもわかりやすく解説します。
作成日: 更新日:
基本的な使い方
RegExp.prototype.multilineプロパティは、RegExpインスタンスが多行モード(multilineモード)で動作するかどうかを示す真偽値を保持するプロパティです。このプロパティは読み取り専用であり、正規表現パターンにmフラグ(多行モードフラグ)が指定されている場合にtrueを返し、そうでない場合はfalseを返します。多行モードが有効な場合、正規表現のアンカー文字である^(行の先頭)と$(行の末尾)の挙動が変化します。通常、これらは検索対象文字列全体の先頭と末尾にのみマッチしますが、多行モードでは改行文字によって区切られた各行の先頭と末尾にもマッチするようになります。この機能は、複数行からなるテキストデータに対して、行ごとに特定のパターンを検索したり、行単位でマッチングを行ったりする際に非常に有用です。例えば、ログファイルのように複数行で構成されるテキストの中で、特定のキーワードで始まる行を探すような場合に活躍します。このプロパティの値を直接変更することはできません。多行モードを有効にするには、正規表現を定義する際に/pattern/mのようにmフラグを含めるか、new RegExp('pattern', 'm')のようにコンストラクタの第二引数に'm'を指定する必要があります。
公式リファレンス: RegExp.prototype.multiline
構文(syntax)
1const regexWithM = /pattern/m; // 'm' フラグを付けて正規表現を作成 2const regexWithoutM = /pattern/; // 'm' フラグを付けずに正規表現を作成 3 4console.log(regexWithM.multiline); // 'm' フラグがあるため true を出力 5console.log(regexWithoutM.multiline); // 'm' フラグがないため false を出力
引数(parameters)
引数なし
引数はありません
戻り値(return)
Boolean
このプロパティは、正規表現が複数行にわたる文字列に対しても ^ および $ メタ文字が各行の先頭と末尾にマッチするように設定されているかどうかを示す真偽値を返します。