java .net和javascript之间正则表达式的差异?

时间:2012-09-13 07:54:36

标签: java javascript .net regex

我正在研究多平台系统。我们想使用正则表达式来测试某种格式的字符串。正则表达式将在db中编写一次,并由3个不同的平台使用。所以你知道正则表达式的写法是否存在差异?如果是,它是完全不同的还是只有少数不同?

以下是一个例子:

[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}

此致

2 个答案:

答案 0 :(得分:4)

简单的正则表达式模式适用于不同的实现,但there are defferences用于更复杂的匹配。然而,有一些常见的变体,即POSIX和Perl正则表达式。因此,在DB中可以有两列用于它们,在大多数情况下都足够了。

答案 1 :(得分:0)

C#和JavaScript正则表达式之间几乎没有显着差异。

  1. IE 6和IE 7不支持Lookahead。
  2. JavaScript支持的元字符列表非常小。
  3. 命名组也无法与JavaScript配合使用。
  4. 很少有用的链接。 1. Are Java and C# regular expressions compatible? - 检查第一个答案。

    1. http://www.regular-expressions.info/refflavors.html - 这里给出了很多不同之处。

    2. Java and .Net Regular Expressions - Java和.NET正则表达式。

    3. 这篇写得非常好的博客也可以提供一些帮助 - http://www.codinghorror.com/blog/2004/08/java-vs-net-regex-performance.html

    4. 我强烈推荐RegexBuddy,它可以理解不同编程语言中的风格,并且可以很容易地看到差异,特别是对于复杂的模式。