2012-09-13 12 views
5

Estoy trabajando en un sistema multiplataforma. Nos gustaría utilizar expresiones regulares para probar cadenas en un formato determinado. La expresión regular se escribiría una vez en un DB y la utilizarían las 3 plataformas diferentes. Entonces, ¿sabes si hay diferencias en la forma en que se escriben las expresiones regulares? Si es así, ¿es totalmente diferente o solo unas pocas cosas son diferentes?Diferencias en expresiones regulares entre java .net y javascript?

Aquí se muestra un ejemplo:

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

Saludos

+0

[Un enlace para usted.] (Http://www.regular-expressions.info/tools.html) – MaxArt

Respuesta

4

patrones de expresiones regulares simples va a estar bien a través de diferentes implementaciones, sin embargo there are defferences para los partidos más complejos. Sin embargo, hay un número limitado de variaciones comunes, a saber, POSIX y Perl regex. De modo que puede tener dos columnas para ellos en DB, lo cual será suficiente en la mayoría de los casos.

0

Pocas diferencias obvias entre C# y JavaScript Regex.

  1. Lookahead no es compatible con IE 6 e IE 7.
  2. Lista de meta-caracteres soportados por JavaScript es mucho más pequeña.
  3. Los grupos con nombre tampoco funcionan bien con JavaScript.

Algunos enlaces útiles. 1. Are Java and C# regular expressions compatible? - Verifique la primera respuesta.

  1. http://www.regular-expressions.info/refflavors.html - Se presentan muchas diferencias aquí.

  2. Java and .Net Regular Expressions - Expresiones regulares de Java y .NET.

  3. Este blog excelentemente escrito también puede ser de alguna ayuda - http://www.codinghorror.com/blog/2004/08/java-vs-net-regex-performance.html

Me lo recomiendo muchísimo RegexBuddy, que comprende sabores en los diferentes lenguajes de programación y hace que sea fácil ver la diferencia especialmente para patrones complejos.

Cuestiones relacionadas