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

Differences in regex between java .net and javascript?

本文关键字:正则表达式 之间 net javascript java      更新时间:2023-09-26

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

问候

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

C#和JavaScriptRegex之间的一些显著差异。

  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,它能理解不同编程语言的风格,并能很容易地看到差异,尤其是对于复杂的模式。