繁体   English   中英

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

Differences in regex between java .net and javascript?

提示:本站收集StackOverFlow近2千万问答,支持中英文搜索,鼠标放在语句上弹窗显示对应的参考中文或英文, 本站还提供   中文繁体   英文版本   中英对照 版本,有任何建议请联系yoyou2525@163.com。

我正在研究一个多平台系统。 我们想使用正则表达式来测试某种格式的字符串。 正则表达式将在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 个回复

简单的正则表达式模式在不同的实现中会很好,但是对于更复杂的匹配存在偏差 然而,有一些常见的变体,即POSIX和Perl正则表达式。 因此,您可以在DB中为它们提供两列,这在大多数情况下都足够了。

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

  1. IE 6和IE 7不支持Lookahead。
  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 ,它能理解不同编程语言中的风格,并且很容易看出差异,特别是对于复杂的模式。

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

相关问题
 
粤ICP备18138465号  © 2020-2021 STACKOOM.COM