Saturday, October 26, 2013

Recensione di RegexBuddy

Nella carriera di un ogni programmatore capita almeno una volta di doversi scontrare con un problema che richiede l’utilizzo delle regular expression.
Personalmente amo particolarmente le regex e trovo stimolante risolvere problemi che ne richiedono l’uso, al pari della risoluzione di un buon sudoku :)

Se avete cercato qualche volta un disperato aiuto su Google oppure se utilizzate le regex di frequente, vi sarà probabilmente capitato di visitare l’ottimo sito http://www.regular-expressions.info/ dove si possono trovare una marea di informazioni, guide ed esempi anche specifici per linguaggio di programmazione.


Proprio dall’autore di questo sito viene il programma oggetto di questa recensione: RegexBuddy.
Il programma è a pagamento e il costo per una singola licenza è di circa 30 € (sono disponibili sconti per l’acquisto di licenze multiple).

Aprendo per la prima volta il programma, l’interfaccia iniziale risulterà abbastanza complessa, ricca di funzionalità e non molto intuitiva, ma dopo qualche utilizzo comincerete a sentirvi a vostro agio.


Nell’area in alto a sinistra è possibile scrivere la propria regex con un piccolo editor dotato di syntax highlighting e inserimento guidato dei caratteri (premendo il tasto destro del mouse).
Per la creazione della regex è possibile scegliere tra più di 30 “flavor” diversi a seconda del linguaggio di programmazione che si sta utilizzando (es. C#, Java o Ruby) e selezionare le classiche impostazioni per le maiuscole e minuscole, il match multilinea ecc…
I tasti Copy e Paste sono molto avanzati e permettono di copiare e incollare stringhe diverse a seconda della codifica del linguaggio di programmazione; selezionando ad esempio da Visual Studio la stringa "\\w^[0-9]{3}$", è possibile incollarla già decodificata con Paste -> Paste Regex from a C# String e verrà quindi inserita come \w^[0-9]{3}$.
Oltre alla funzionalità di match è chiaramente diponibile anche il replace per effettuare sostituzioni e lo split per dividere la stringa di prova in chunk.

Durante la scrittura si aggiornerà in tempo reale l’area Create in basso, dove è possibile vedere la scomposizione in token di tutte le parti che compongono la regex. Il grafico è molto utile per chi è alle prime armi e sta cercando di capire cosa sta succedendo oppure in caso di espressioni particolarmente lunghe e complicate. Ogni token viene infatti spiegato dettagliatamente e si ha una visuale gerarchica che scompone la regex.


Nell’area Test è possibile inserire il testo di prova e vedere gli eventuali match o gruppi di cattura premendo il tasto List All. È anche possibile inserire il testo specificando l’indirizzo di un sito web oppure utilizzare quelli della sezione Library (esaminata più avanti).
Premendo il tasto Debug si aprirà la schermata di debug che permette di vedere tutti i passi che vengono eseguiti dall’interprete per effettuare il match di un’espressione regolare.




La tab Library è davvero uno dei fiori all’occhiello del programma e contiene decine e decine di regular expression di uso comune già pronte, tutte comprensive di spiegazione e testi di prova (indirizzi e-mail, carte di credito, tag HTML ecc…). È anche possibile arricchire questa libreria inserendo le proprie regex “preferite”.


Nella sezione Use è possibile creare parti di codice già pronte per oltre 30 linguaggi di programmazione diversi da usare per il match oppure il replace. Per convertire una regex da un linguaggio a un altro è invece possibile utilizzare la tab Convert.


Infine come bonus è incluso anche un potente strumento di ricerca simile al comando grep presente nelle shell Unix. Per usarlo basta selezionare la cartella in cui si vuole cercare, un’eventuale filtro sul nome e il programma cercherà (o eventualmente sostituirà) le occorrenze della nostra regex su file system.


Come avrete capito dalla recensione più che positiva mi sento proprio di consigliare questo software, anche considerato il suo costo più che ragionevole.
Corredate il tutto con un help offline completo che attinge e integra i contenuti del sito e l’acquisto diventa automaticamente molto interessante per chi lavora con le regex 5-10 volte l’anno, quasi obbligato se invece vi imbattete spesso in questo genere di problemi.

Pro
  • Tonnellate di funzionalità interessanti
  • Inserimento "guidato" di classi e caratteri
  • Libreria piena di regex già pronte
  • Help offline completo

Contro
  • Ottimo prezzo
  • Interfaccia un po' affollata e non molto intuitiva
  • Alcuni "freeze" (in particolare cambiando il layout delle finestre)

No comments:

Post a Comment