JavaScript + Unicode正则表达式
如何在JavaScript中使用支持Unicode的正则表达式?
例如,应该有类似的东西\w
可以匹配Letters或Marks类别中的任何代码点(而不仅仅是ASCII的),并且希望具有[[P *]]
这样的过滤器来标点,等等。
回答:
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]
以上是 JavaScript + Unicode正则表达式 的全部内容, 来源链接: utcz.com/qa/432443.html