小编典典

JavaScript + Unicode正则表达式

spring

如何在JavaScript中使用支持Unicode的正则表达式?

例如,应该有类似的东西\w可以匹配Letters或Marks类别中的任何代码点(而不仅仅是ASCII的),并且希望具有[[P *]]这样的过滤器来标点,等等。


阅读 1208

收藏
2020-04-23

共1个答案

小编典典

ES 6的情况
即将发布的ECMAScript语言规范,版本6,包含可识别Unicode的正则表达式。必须使用u正则表达式上的修饰符启用支持。请参阅ES6中支持Unicode的正则表达式。

不过,在ES 6完成并在浏览器供应商中广泛采用之前,你仍然是一个人。更新:现在有一个名为regexpu的编译器,可将ES6 Unicode正则表达式转换为等效的ES5。它可以用作构建过程的一部分。在线试用。

ES 5及以下版本的情况
即使JavaScript对Unicode字符串进行操作,它也不会实现支持Unicode的字符类,并且没有POSIX字符类或Unicode块/子范围的概念。

我只是针对“常规标点”和“补充标点”子范围进行了此操作,结果如我期望的那样简单明了:

[\u2000-\u206F\u2E00-\u2E7F]
2020-04-23