Nashorn的RegExp实现不支持Unicode类别吗?

时间:2018-01-01 01:03:56

标签: javascript regex nashorn

我尝试使用/\p{L}/ig匹配字符串中所有类似字母的字符。但是,Nashorn的RegExp实现似乎不支持此Unicode类别。

是否有解决方法或修复此问题?

更新:IMO这不是referenced question的重复:Nashorn 8确实实现了ECMAScript 5.1,但由于引擎在Java上运行,因此可能存在“Java方式”更改引擎使用的RegExp实现。

更新:我安装了Nashorn full version 9-internal+0-2016-04-14-195246附带的 Java 9 (OpenJDK)。即使使用 ECMAScript 6 --language=es6)运行Nashorn,也不支持Unicode类别。

1 个答案:

答案 0 :(得分:2)

据我所知,目前的ECMAScript RegExp规范不支持Unicode类别(最高6.0); e.g。

Nashorn只是在实施ECMAScript规范。否则将是一个错误!

如果您确实需要支持Unicode类别和其他增强功能,请考虑更改您的Javascript代码以使用XRegExp库。或者,从您的Javascript代码中调用本机Java Pattern / Matcher类。这两种方法都需要更改代码....