Java、.NET和JavaScript中的正则表达式有何不同?

6
我正在处理一个多平台系统。我们希望使用正则表达式来测试特定格式的字符串。该正则表达式将在数据库中编写一次,然后由三个不同平台使用。那么你是否知道在编写正则表达式时有区别吗?如果有,是完全不同还是只有一些不同之处?
以下是一个示例:
[a-fA-F0-9]{8}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{12}

问候


这里有一个链接供您参考。 - MaxArt
2个回答

4

简单的正则表达式模式在不同的实现中都可以使用,但是更复杂的匹配可能会有所不同。然而,常见的变体数量有限,即POSIX和Perl正则表达式。因此,您可以在数据库中为它们设置两列,在大多数情况下这将足够。


0

C#和JavaScript正则表达式之间有一些明显的区别。

  1. 在IE 6和IE 7上不支持前瞻。
  2. JavaScript支持的元字符列表要小得多。
  3. 命名组在JavaScript中也不能很好地工作。

一些有用的链接。 1. Java和C#的正则表达式兼容吗? - 查看第一个答案。

  • http://www.regular-expressions.info/refflavors.html - 这里列出了许多不同之处。

  • Java 和 .Net 正则表达式 - Java 和 .NET 正则表达式。

  • 这篇写得非常好的博客也可能会有所帮助 - http://www.codinghorror.com/blog/2004/08/java-vs-net-regex-performance.html

  • 我强烈推荐使用 RegexBuddy,它可以理解不同编程语言中的风格,并使复杂模式的差异易于查看。


    网页内容由stack overflow 提供, 点击上面的
    可以查看英文原文,
    原文链接