Codemotion Roma 2013

Expresiones regulares en Ruby

Luca Mearelli  · 

Presentación

Vídeo

Transcripción

Extracto de la transcripción automática del vídeo realizada por YouTube.

claudio man show salve a tutti allora quanti di voi sanno cosa sono le espressioni regolari expressions perfetto sono un linguaggio che permette di definire pattern all'interno del testo e poterli riconoscere e estrarre descrivere comunque il contenuto

del testo con un linguaggio molto compatto poi può servire per esempio per riconoscere una parola all'interno di un testo oppure riconoscere una dato poi riconoscere il numero in un formato particolare quindi sono sono un buono strumento per fare cosa

per tutti i casi in cui dobbiamo fare pattern matching quindi riconoscere dei particolari delle particolare stringhe formati di stringa all'interno di un testo ma sono molto utili anche in tutti i casi in cui dobbiamo fare searcher place ok vediamo un

attimo rapidamente vorrei fare rapidamente una piccola introduzione su qual è la grammatica delle espressioni regolari e come si usano in ruby e poi vediamo un po di suggerimenti e trucchi per poter sviluppare meglio e con minori minori problemi in ruby expansion

anno c'è un oggetto nella libreria base standard di ruby che regga exp il costruttore possiamo farla passare la stringa che rappresenta la regola expression otteniamo la regola expansion utilizzabile all'interno del linguaggio se c'è anche modo

con due formati che sono quelli che vedete lì sotto di definire una notazione letterale quindi direttamente ottenere un istanza dell'oggetto rega exp il primo caso è quello diciamo un po più verboso e secondo caso è quello che vedremo in tutti gli esempi

e quello che vedrete nella maggior parte del codice ruby con il doppio back slash dunque dentro una regola expansion avevamo detto pattern minciare pattern e all'interno di un testo un allegro espression semplicemente può essere semplicemente una stringa

letterale in quel caso cat metterà tutte le sequenze delle lettrici atti all'interno del testo il punto è un carattere speciale nelle regole expression perché poi commerciare può corrispondere a un qualsiasi carattere escluso il mio line vedremo c'è

un eccezione a questo lo vedremo tra un attimo come abbiamo detto c'è la possibilità di rendere compatte queste questi pattern quindi possiamo decidere che possiamo specificare diverse classi di caratteri quelle che si chiamano nel gergo sarà ter classes

che non sono altro che definire una sequenza di diletto di insieme di lettere che possono minare all'interno del testo sono delimitate delle parentesi quadre il primo caso sono solo le vocali nel secondo caso tutte le lettere da az oppure tutte oppure

sono le cifre da 0 0 e 1 possiamo dire che quella particolare classe di caratteri è la classe che non contiene i caratteri che seguono e possiamo anche come avevamo detto prima il possiamo anche modificare il comportamento delle regole xpression in modo tale

da fare in modo per esempio che il punto mecci anche i new line questo si fa ponendo dopo la regular expression nella definizione letterale oppure passandolo come opzione alla al caso di costruzione con un oggetto passando dei modificatori che ci permettono

di dire che per esempio la nostra il nostro pattern match e indipendentemente dal caso oppure messa anche i new line o match escludendo il white space e questo ci può servire quando se vogliamo descrivere una regola expression nel codice molto complessa possono

usare le white space ed i commenti per commentare la regola expression all'interno del codice le classi di caratteri che sono più usate hanno dei delle scorciatoie per definirle ci sono classi sorta in classe che definiscono il dg solo le cifre numeriche

soli white space solo i caratteri world shut sarebbero i caratteri ed az sci per esempio oppure solo le cifre esadecimali quindi caratteri da f i numeri e le negazioni delle stesse classi oltre che definire un permetterci di specificare un carattere una classe

di caratteri possiamo indicare con di sequenze di escape o con dei caratteri particolari anche delle posizioni all'interno della stringa per esempio possiamo abbiamo modo di definire l'inizio della linea la fine della linea questa maniera possiamo

decidere di mettere una stringa nella sua interezza ma possiamo anche definire la posizione subito prima dell'inizio della parola e subito dopo l'inizio della parola la fine di una parola così come evadere mo l'importanza di questo tra qualche

slide possiamo definire l'inizio della stringa e la fine della stringa quelle che vedete in alto sono il mito di una linea è la fine di una linea significa che non mettano per esempio la fine della linea non match e new line mai le ultime quelle info qui

sotto invece match anno all'inizio della stringa e la fine della stringa in ogni caso anche se abbiamo stringhe con con the new line con delle con da capo e qui già iniziamo a vedere un po della complicazione perché con il back slash backlash z ce ne sono

due versioni una col maiuscola con minuscolo con un comportamento leggermente diverso quello da usare normalmente perché quello che ha il significato vero che intendiamo dare al al significato della posizione alla fine la stringa quella con il minuscolo nella

sintassi delle regole expression possiamo definirle l'alternanza cioè l'opzione la possibilità di mettere una o l'altra di due si stringa sub stringhe nel primo caso match a kut messa anche dog abbiamo un operatore che la star che permette dimezzare

[ ... ]

Nota: se han omitido las otras 2.700 palabras de la transcripción completa para cumplir con las normas de «uso razonable» de YouTube.