RegExp.prototype.unicodeSets
unicodeSets
是 RegExp
实例的访问器属性,它返回此正则表达式是否使用 v
标志。
描述
如果使用了 v
标志,则 RegExp.prototype.unicodeSets
的值为 true
;否则为 false
。v
标志是对 u
标志的“升级”,它启用了更多与 Unicode 相关的功能。(“v”是字母表中“u”后面的下一个字母。)因为 u
和 v
以不兼容的方式解释相同的正则表达式,所以使用这两个标志会导致 SyntaxError
。使用 v
标志,您可以获得 u
标志描述中提到的所有功能,以及
\p
转义序列还可以用于匹配字符串的属性,而不仅仅是字符。- 字符类 语法已升级,允许使用交集、并集和减法语法,以及匹配多个 Unicode 字符。
- 字符类补集语法
[^...]
构造一个补集类,而不是否定匹配结果,避免了在不区分大小写的匹配中出现一些令人困惑的行为。有关更多信息,请参阅 补集类和不区分大小写的匹配。
一些有效的 u
模式正则表达式在 v
模式下变得无效。具体来说,字符类语法不同,某些字符不能再以字面形式出现。有关更多信息,请参阅 v
模式字符类。
注意:v
模式不会将音节群解释为单个字符;它们仍然是多个代码点。例如,/[🇺🇳]/v
仍然能够匹配 "🇺"
。
unicodeSets
的设置访问器为 undefined
。您不能直接更改此属性。
示例
使用 unicodeSets 属性
js
const regex = /[\p{Script_Extensions=Greek}&&\p{Letter}]/v;
console.log(regex.unicodeSets); // true
规范
规范 |
---|
ECMAScript 语言规范 # sec-get-regexp.prototype.unicodesets |
浏览器兼容性
BCD 表格仅在启用 JavaScript 的浏览器中加载。