天龙八部32888卡,沈阳铁西鬼楼,一吨柴油多少升
Unicode 属性类
目前,有一个提案,引入了一种新的类的写法\p{...}和\P{...},允许正则表达式匹配符合 Unicode 某种属性的所有字符。
- const regexGreekSymbol = /\p{Script=Greek}/u;
- regexGreekSymbol.test('π') // true
上面代码中,\p{Script=Greek}指定匹配一个希腊文字母,所以匹配π成功。
Unicode 属性类要指定属性名和属性值。
- \p{UnicodePropertyName=UnicodePropertyValue}
对于某些属性,可以只写属性名。
- \p{UnicodePropertyName}
\P{…}是\p{…}的反向匹配,即匹配不满足条件的字符。
注意,这两种类只对 Unicode 有效,所以使用的时候一定要加上u修饰符。如果不加u修饰符,正则表达式使用\p和\P会报错,ECMAScript 预留了这两个类。
由于 Unicode 的各种属性非常多,所以这种新的类的表达能力非常强。
- const regex = /^\p{Decimal_Number}+$/u;
- regex.test('????????????????') // true
上面代码中,属性类指定匹配所有十进制字符,可以看到各种字型的十进制字符都会匹配成功。
\p{Number}甚至能匹配罗马数字。
- // 匹配所有数字
- const regex = /^\p{Number}+$/u;
- regex.test('231???') // true
- regex.test('???') // true
- regex.test('ⅠⅡⅢⅣⅤⅥⅦⅧⅨⅩⅪⅫ') // true
下面是其他一些例子。
- // 匹配各种文字的所有字母,等同于 Unicode 版的 \w
- [\p{Alphabetic}\p{Mark}\p{Decimal_Number}\p{Connector_Punctuation}\p{Join_Control}]
-
- // 匹配各种文字的所有非字母的字符,等同于 Unicode 版的 \W
- [^\p{Alphabetic}\p{Mark}\p{Decimal_Number}\p{Connector_Punctuation}\p{Join_Control}]
-
- // 匹配所有的箭头字符
- const regexArrows = /^\p{Block=Arrows}+$/u;
- regexArrows.test('←↑→↓??↖↗↘↙?????????????') // true
如对本文有疑问,请在下面进行留言讨论,广大热心网友会与你互动!!
点击进行留言回复
相关文章:
-
-
-
详解CSS3新增的背景属性
CSS3新增属性:background-clip ,background-origin , background-size,本文给大家分享CSS3新增的背景属性...
[阅读全文]
-
-
-
CSS3 旋转立方体问题详解
这篇文章主要介绍了CSS3 旋转立方体问题详解,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学...
[阅读全文]
-
Grid 宫格常用布局的实现
这篇文章主要介绍了Grid 宫格常用布局的实现,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学...
[阅读全文]
-
-
-
CSS3实现网站商品展示效果图
这篇文章主要介绍了CSS3实现网站商品展示效果图,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习...
[阅读全文]
-
网友评论