我尝试使用/\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类别。
答案 0 :(得分:2)
据我所知,目前的ECMAScript RegExp规范不支持Unicode类别(最高6.0); e.g。
Nashorn只是在实施ECMAScript规范。否则将是一个错误!
如果您确实需要支持Unicode类别和其他增强功能,请考虑更改您的Javascript代码以使用XRegExp库。或者,从您的Javascript代码中调用本机Java Pattern / Matcher类。这两种方法都需要更改代码....