我正在开发一个多平台系统。我们想使用正则表达式来测试某种格式的字符串。正则表达式将在数据库中编写一次,并由 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}
问候
我正在开发一个多平台系统。我们想使用正则表达式来测试某种格式的字符串。正则表达式将在数据库中编写一次,并由 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}
问候
简单的正则表达式模式适用于不同的实现,但是对于更复杂的匹配存在差异。然而,常见的变体数量有限,即 POSIX 和 Perl 正则表达式。因此,您可以在 DB 中为它们设置两列,这在大多数情况下已经足够了。
C# 和 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,它了解不同编程语言的风格,并且可以很容易地看到差异,尤其是对于复杂模式。