【JavaScript ECMAScript】Modifier: (?ims-ims:...)言語機能の使い方
Modifier: (?ims-ims:...)言語機能の使い方について、初心者にもわかりやすく解説します。
作成日: 更新日:
基本的な使い方
Modifier: (?ims-ims:...)定数は、JavaScriptの正規表現において、パターン文字列の内部でマッチングの振る舞いを一時的に、または部分的に変更・定義するための埋め込みフラグを表す定数です。通常、正規表現のフラグ(オプション)は正規表現リテラルの末尾(例: /pattern/i)やRegExpコンストラクタの第二引数で指定されますが、この構文を使用すると、パターン内部の特定の箇所からフラグのオン・オフを制御できます。
この定数内の文字 i は大文字小文字を区別しないマッチング、m は複数行モード、s は.(ドット)が改行文字を含むあらゆる文字にマッチするモード(dotAllモード)をそれぞれ有効にすることを意味します。また、ハイフンに続けてフラグを指定することで、そのフラグを無効にできます(例: (?i-m) は大文字小文字を区別しないが複数行モードは無効にする)。
この構文は、主に二つの形式で使われます。一つは (?ims-ims:サブパターン) のように、コロンの後に続くサブパターンに対してのみフラグを適用する「グループにスコープされるフラグ」です。もう一つは (?ims-ims) のように、コロンなしで記述し、その位置から正規表現の終わりまでフラグを適用する「カレント位置から変更するフラグ」です。これにより、複雑な正規表現においても、部分的に異なるマッチングルールを適用できるようになり、柔軟なパターン記述が可能になります。
公式リファレンス: Modifier: (?ims-ims:...)
構文(syntax)
1const regex = /(?ims-ims:pattern_to_match)/;
引数(parameters)
引数なし
引数はありません
戻り値(return)
戻り値なし
戻り値はありません