RegExp.prototype.unicodeSets
Baseline2023Newly available
Since September 2023, this feature works across the latest devices and browser versions. This feature might not work in older devices or browsers.
unicodeSets
はRegExp
インスタンスのアクセサープロパティで、この正規表現にv
フラグが使用されているかどうかを返します。
解説
RegExp.prototype.unicodeSets
はv
フラグが使用されている場合はtrue
を、そうでない場合はfalse
を返します。v
フラグはu
フラグを「アップグレード」したもので、Unicode 関連の機能をより有効にするものです(u
とv
は同じ正規表現を互換性のない方法で解釈するので、両方のフラグを使用するとSyntaxError
になります。)v
フラグを使用すると、u
フラグの説明で述べたすべての機能に加えて、以下の機能が得られます。
\p
エスケープシーケンスは、文字だけでなく、文字列のプロパティにも一致します。- 文字クラス構文がアップグレードされ、複数の Unicode 文字の照合だけでなく、交差、和集合、差集合の構文ができるようになります。
- 文字クラスの補集合の構文
[^...]
は、一致結果を否定する代わりに補集合クラスを構築し、大文字小文字を区別しない照合との混乱を避けることができます。詳しくは補集合クラスと大文字小文字を区別しない照合を参照してください。
一部のu
モードの正規表現はv
モードで無効になることがあります。具体的には、文字クラスの構文が異なり、文字通りに表示できない文字があります。詳しくはv
モード文字クラスを参照してください。
メモ:v
モードは書記素クラスターを 1 文字として解釈しません。例えば、/[🇺🇳]/v
は"🇺"
に一致します。
unicodeSets
の設定アクセサーはundefined
です。このプロパティを直接変更することはできません。
例
unicodeSets プロパティの使用
js
const regex = /[\p{Script_Extensions=Greek}&&\p{Letter}]/v;console.log(regex.unicodeSets); // true
仕様書
Specification |
---|
ECMAScript® 2026 Language Specification # sec-get-regexp.prototype.unicodesets |