【问题标题】:generic convertion java regex to javascript regex泛型转换 java 正则表达式到 javascript 正则表达式
【发布时间】:2015-03-21 01:36:44
【问题描述】:

我知道关于这个主题有几个问题,但对于所有这些问题,我都看到了一个特定的正则表达式要从 Java 转换为 JavaScript。

然而,没有一个答案包含某种以通用方式进行转换的算法。 所以我的问题是你是否知道将 Java 正则表达式转换为 JavaScript 正则表达式的算法?也许是第三方这样做?

动机和背景:在客户端,我从服务器获取属性列表以呈现表单。一些表单字段包含稍后在服务器中检查的验证模式。出于可用性目的,我希望能够向用户展示内联验证(例如验证 IP 地址),而无需在服务器和客户端中都维护正则表达式。

干杯,

【问题讨论】:

  • 我不希望有一种算法可以将正则表达式从 Java 兼容更改为 JavaScript 兼容,因为 JavaScript 正则表达式根本无法做到 (look-behind assertions for instance)。对于更简单的正则表达式,相同的模式应该适用于两者。

标签: java javascript regex


【解决方案1】:

语法一般相同,但 JavaScript 对正则表达式功能的支持要少得多。

例如,不支持lookbehinds,也不支持所有格量​​词、Unicode 类别、命名组、s 选项等。

您可以看到全面的功能比较on this site,但最终 JavaScript 正则表达式或多或少是 Java 正则表达式的子集。

您可以做的是编写与 JS 兼容的正则表达式并在 Java 中使用它们,但如果您的 Java 正则表达式使用 JS 中不可用的功能,那么您就不走运了。

您还可以使用 JS 中的 XRegExp 库来扩展可用功能。它是一个将一些不支持的语法转换为支持的语法的库,但它不能提供所有缺少的功能。

【讨论】:

    猜你喜欢
    • 2012-01-16
    • 1970-01-01
    • 2019-08-02
    • 1970-01-01
    • 1970-01-01
    • 2013-01-18
    • 2011-10-02
    • 1970-01-01
    • 2019-05-11
    相关资源
    最近更新 更多