【Node.js24.x】RegExp::unicodeSetsプロパティの使い方
unicodeSetsプロパティの使い方について、初心者にもわかりやすく解説します。
基本的な使い方
unicodeSetsプロパティは、RegExpインスタンスが「v」フラグ(ユニコード集合モード)を使用して構築されたかどうかを示す真偽値を保持するプロパティです。このプロパティの値は、正規表現オブジェクトが作成される際に「v」フラグが指定されていた場合にのみtrueとなり、それ以外の場合はfalseとなります。
「v」フラグは、ECMAScript 2024で導入された新しいユニコード関連の正規表現機能です。これは、従来の「u」フラグを拡張し、新しい集合演算機能や、絵文字シーケンスを含むより複雑なユニコードプロパティエスケープの利用を可能にします。具体的には、\p{Property_Name} 形式のプロパティエスケープにおいて、複数のプロパティを組み合わせた集合や、差集合のような演算がサポートされるようになります。
このプロパティを参照することで、実行時の正規表現が高度なユニコード集合モードで動作しているかどうかをプログラムで確認できます。これにより、特定のユニコード集合機能に依存する処理を行う前に、その正規表現が適切に設定されているかを検証するのに役立ちます。unicodeSets プロパティが true である場合、その正規表現は「u」フラグが設定されているのと同様にユニコードモードで動作しますが、さらに「v」フラグによる拡張された機能も利用可能であることを意味します。
構文(syntax)
1const regex = /a/v; 2console.log(regex.unicodeSets);
引数(parameters)
引数なし
引数はありません
戻り値(return)
boolean
RegExp.prototype.unicodeSets プロパティは、正規表現リテラルが Unicode プロパティエスケープ (\p{...} や \P{...}) のセットモード (v フラグ) をサポートしているかどうかを示す真偽値です。