2012-09-13 11 views
5

Sto lavorando su un sistema multipiattaforma. Vorremmo usare regex per testare le stringhe in un determinato formato. La regex dovrebbe essere scritta una volta in un db e utilizzata dalle 3 diverse piattaforme. Quindi sai se ci sono differenze nel modo in cui sono scritte le espressioni regolari? Se sì, è totalmente diverso o solo poche cose sono diverse?Differenze nella regex tra java .net e javascript?

Ecco un esempio:

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

saluti

+0

[Un collegamento per voi.] (Http://www.regular-expressions.info/tools.html) – MaxArt

risposta

4

modelli semplici espressioni regolari andrà bene tra diverse implementazioni, però there are defferences per le partite più complesse. Eppure esistono un numero limitato di varianti comuni, vale a dire POSIX e Perge regex. Quindi puoi avere due colonne per loro in DB, che sarà abbastanza nella maggior parte dei casi.

0

Poche differenze tra C# e JavaScript Regex.

  1. Lookahead non è supportato su IE 6 e IE 7.
  2. Elenco dei metacaratteri supportati da JavaScript è molto più piccolo.
  3. Anche i gruppi con nome non funzionano bene con JavaScript.

Pochi collegamenti utili. 1. Are Java and C# regular expressions compatible? - Controlla la prima risposta.

  1. http://www.regular-expressions.info/refflavors.html - Un sacco di differenze sono date qui.

  2. Java and .Net Regular Expressions - Espressioni regolari Java e .NET.

  3. Questo blog ottimamente scritta può anche essere di qualche aiuto - http://www.codinghorror.com/blog/2004/08/java-vs-net-regex-performance.html

io consiglio vivamente RegexBuddy che comprende sapori nei diversi linguaggi di programmazione e rende più facile vedere la differenza soprattutto per i modelli complessi.

Problemi correlati