我尝试使用/p{L}/ig
匹配字符串中的所有类似字母的字符。但是,Nashorn的RegExp实现似乎不支持此Unicode类别。
是否有解决方法或修复程序?
更新:IMO 这不是所引用问题的重复:Nashorn 8 确实实现了 ECMAScript 5.1,但由于引擎在 Java 上运行,因此可能存在一种"Java 方式"来更改引擎使用的 RegExp 实现。
更新:我安装了Nashorn full version 9-internal+0-2016-04-14-195246
附带的Java 9(OpenJDK(。即使使用 ECMAScript 6 运行 Nashorn (--language=es6
(,也不支持 Unicode 类别。
据我所知,当前的 ECMAScript RegExp 规范不支持 Unicode 类别(最高为 6.0(;
例如- https://www.ecma-international.org/ecma-262/6.0/#sec-regexp-regular-expression-objects
Nashorn 只是简单地实现了 ECMAScript 规范。 否则将是一个错误!
如果您确实需要对 Unicode 类别和其他增强功能的支持,请考虑更改 Javascript 代码以使用 XRegExp 库。 或者,从Javascript代码调用本机Java Pattern/Matcher类。 这两种方法都需要更改代码....