【JavaScript ECMAScript】RegExp::RegExp.prototype.stickyインスタンスアクセサプロパティの使い方
RegExp.prototype.stickyインスタンスアクセサプロパティの使い方について、初心者にもわかりやすく解説します。
作成日: 更新日:
基本的な使い方
RegExp.prototype.stickyプロパティは、JavaScriptにおいて正規表現のオブジェクトが「固定マッチング」モードで動作するかどうかを示すブール値を保持するプロパティです。このプロパティは、正規表現リテラルを作成する際にyフラグ(stickyフラグ)が指定されているかどうかを真偽値(trueまたはfalse)で返します。
yフラグが設定された正規表現は、文字列中の特定の位置からのみマッチングを開始します。具体的には、正規表現オブジェクトのlastIndexプロパティが示す位置からマッチングを試み、その位置でマッチしなかった場合はそれ以上進んで探索しません。これは、通常のグローバルマッチング(gフラグ)が文字列全体を探索するのとは異なり、厳密に指定された位置でのみマッチングを行いたい場合に特に有用です。
例えば、文字列の中から連続する部分を順次抽出したいときなどに、yフラグとlastIndexプロパティを組み合わせることで、文字列の特定の部分に限定した効率的かつ意図通りのパターンマッチングを実現できます。stickyプロパティは読み取り専用であり、その値を直接変更することはできません。正規表現オブジェクトが固定マッチングの挙動を持つかどうかを確認するために利用されます。
公式リファレンス: RegExp.prototype.sticky
構文(syntax)
1const regex = /example/y; 2console.log(regex.sticky);
引数(parameters)
引数なし
引数はありません
戻り値(return)
boolean
RegExp.prototype.sticky プロパティは、正規表現がstickyモード(yフラグ)で作成された場合に true を、そうでなければ false を返します。