Sep 18 2010

HelpSemaforoQuesto semaforo indica il livello difficoltà del post
semaforo verde - articolo per tutti semaforo giallo - articolo avanzato semaforo rosso - articolo per esperti

Altre espressioni regolari sconosciute ai più

autore: categoria: generale

Quando parliamo di espressioni regolari per semplicità ci riferiamo sempre ai soliti operatori noti: il più, il punto, l’asterisco, il backslash, le parentesi tonde. Ma il mondo delle regex, come dico sempre, è complesso in modo esponenziale. Ecco quattro operatori citati raramente che in futuro potrebbero aiutarvi a semplificare un po’ le vostre regular expression:

  • parentesi graffe {}: servono a definire le ripetizioni, per cui (ahi){2} funzionerà solo per estrarre ahiahi. Si può anche definire un intervallo di ripetizioni, con la sintassi (ahi){3,6}. In questo caso andranno bene tra le tre e le sei ripetizioni di “ahi”
  • \d: serve ad indicare qualsiasi cifra
  • \s: serve ad indicare gli spazi (ma no, non si può usare in un filtro search and replace, mi dispiace), ma anche gli a capo e i tab
  • \w: serve ad indicare qualsiasi carattere alfanumerico o l’underscore

Ovviamente il consiglio è sempre quello di testare il più possibile prima di mettere in produzione una regular expression: io consiglio sempre l’ottimo RegEx Designer di RadSoftware, ma la rete è piena di strumenti, anche online, per fare lo stesse mestiere. Alcuni dei più noti sono RegExr, RegexPal e il tester di regex.info.

Condividi l'articolo:

3 Commenti

  1. Non vorrei sbagliarmi perche’ il maestro sei tu, ma gli indici di GA, come quelli di qualsiasi sistema C like, non sono zero-based?
    Ovvero quando dici {3,6} non dovrebbe essere da un minimo di 2 ad un massimo di 5, proprio perche’ lo 0 fa numero?

  2. non so in C, ma nelle regex l’indice è puntuale. Però perché GA dovrebbe essere C-like?

  3. No, non so. Una volta avevo provato usato queste parentesi e mi sono ritrovato con una {3,6} che mi funzionava con un numero in meno per tutto. Non saprei cosa sia successo.

Scrivi un Commento