6

我正在开发一个多平台系统。我们想使用正则表达式来测试某种格式的字符串。正则表达式将在数据库中编写一次,并由 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}

问候

4

2 回答 2

4

简单的正则表达式模式适用于不同的实现,但是对于更复杂的匹配存在差异。然而,常见的变体数量有限,即 POSIX 和 Perl 正则表达式。因此,您可以在 DB 中为它们设置两列,这在大多数情况下已经足够了。

于 2012-09-13T08:00:02.450 回答
0

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

  1. IE 6 和 IE 7 不支持前瞻。
  2. JavaScript 支持的元字符列表非常少。
  3. 命名组也不适用于 JavaScript。

很少有有用的链接。1 、Java和C#正则表达式是否兼容?- 检查第一个答案。

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

  2. Java 和 .NET 正则表达式- Java 和 .NET 正则表达式。

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

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

于 2012-09-13T08:24:51.033 回答