【发布时间】:2015-12-10 20:15:58
【问题描述】:
如何使用符合 ECMA 262 的正则表达式评估输入?
经过一番阅读,我发现 Java 8 的 javascript 引擎 nashorn 可以帮助我做到这一点。
如何使用 nashorn 脚本引擎来匹配正则表达式?
【问题讨论】:
-
我对你的问题有点困惑。您在问如何通过 Java 8 中的 Nashorn JS 引擎使用处理 ECMAScript 正则表达式?你有什么理由不只使用 Java 的正则表达式吗?这是在哪里完成的(服务器/客户端)?
-
@JNYRanger 对于您的第一个问题 - 是的。这就是我要问的。 Nashorn 是基于 ECMA 规范构建的,所以这样做应该不会有任何问题。
因为 Javascript RegEx 与 Java RegEx 不同。 -
我知道 JavaScript 正则表达式在语法上是不同的,但我的问题是关于为什么要使用 JavaScript 正则表达式而不是 Java 正则表达式,因为这两种语言的正则表达式引擎都提供相同的功能集。你从哪里得到模式?您可能想要考虑在 Java 和 JavaScript 正则表达式语法之间执行转换,这会更容易做到:stackoverflow.com/a/8754472/2359643
-
@JNYRanger 我正在使用 swagger 编写验证框架。 Swagger 基于 yaml。 Yaml 是 Json Schema 的超级集,允许 ECMA 标准上的正则表达式。希望这足够清楚。
-
现在很有意义!
标签: java regex java-8 ecmascript-5 nashorn