SlideShare a Scribd company logo
ESPRESSIONI REGOLARI.
Linux per sviluppatori
By M@r.S
2
ABOUT ME
Mariano Fiorentino
https://it.linkedin.com/in/marianofiorentino
●
CTO & Technical Director @travelmatic.com
●
Solution Architect @Enginnering.it
●
PHP User Group Torino
3
Il videocorso su UDEMY
https://www.udemy.com/corso-linux-per-sviluppatori-web-
lamp-apache-php-mysql/?couponCode=SLIDES10
●
Installare un server linux
●
Lavorare con la linea di comando
●
Gestione gruppi, utenti e permessi
●
Bash scripting
●
Espressioni regolari
●
Apache, NGnix &Https
●
Installare PHP & MySql
●
Cron e crontab
4
Cos’è un espressione regolare
●
E’ una sequenza di simboli (quindi una stringa) che
identifica un insieme di stringhe.
●
Il primo programma creato per interpretare espressioni
regolari è stato grep (general regular expression print).
5
Tipi di espressioni regolari
●
la sintassi di base POSIX
●
la sintassi "estesa", cioè quella che è stata definita con
lo standard POSIX.2 e viene usata ad esempio da egrep.
●
La sintassi "Perl Compatible Regular Expressions",
introdotta negli anni 80 che viene usata da PHP,
JavaScript e da tutti i linguagi di programmazione
moderni.
6
Ancore
●
^La
Corrisponde a una stringa che inizia con "La"
●
fine$
corrisponde a una stringa che termina con "fine"
●
^La fine$
una riga esattamente scritta così
●
ruggire
stringa che contiene “ruggire” del testo
7
Quantificatori
●
abc*
corrisponde a una stringa che ha ab seguita da zero o
più c
●
abc+
corrisponde a una stringa che ha ab seguita da uno o
più c
●
abc?
corrisponde a una stringa con ab seguita da zero o una c
8
Quantificatori
●
i quantificatori + e ? sono stati introdotti con le POSIX.2
●
Su Linux i comandi che sono nati come POSIX prima
versione utilizzano i nuovi quantificatori con insieme al
carattere di escape “”.
9
Wildcards
●
.
corrisponde a qualsiasi carattere
●
.*
corrisponde a qualsiasi stringa
10
Esercizio
●
curl
http://www.lib.ru/POEZIQ/PETRRKA/canconiere.txt_with-
big-pictures.html > canzoniere.html
11
Quantificatori
●
abc{2}
corrisponde alla stringa "ab" seguita da 2 "c"
●
abc{2,}
corrisponde alla stringa "ab" seguita da 2 o più "c"
●
abc{2,5}
corrisponde alla stringa "ab" seguita da 2 fino a 5 "c"
12
Quantificatori
●
a(bc)*
corrisponde alla stringa "a" seguita da zero o più
occorrenze della sequenza "bc"
●
a(bc){2,5}
corrisponde alla stringa "a" seguita da 2 fino a 5 copie
della sequenza "bc"
13
Operatori 
●
a(b|c)
corrisponde alla stringa "a" seguita da "b" o "c"
●
a[bc]
come il precedente esempio
14
Operatori 
●
a[^bc]
corrisponde ad “a” non seguito da “b” o “c”
15
Classi di caratteri 
●
[0-9]
qualsiasi numero compreso tra 0 e 9
●
[a-z]
qualsiasi lettera minuscola
●
[A-Z]
qualsiasi lettera minuscola
16
Perl Compatible Regular Expressions
●
La libreria PCRE implementa le espressioni regolari
utilizzando la stessa sintassi di Perl 5.
●
Perl - nato negli anni 80 - è il liguaggio di
programmazione cui è stato derivato PHP.
●
PCRE è stato originariamente scritto per Exim - un
programma server di posta -, ma ora è utilizzato da
molti progetti open source, tra cui Apache, PHP, KDE,
javascript, java, ecc..
17
Corrispondenze “avide” e “pigre”
Una corrispondenza avida consuma tutto il possibile
●
.*?
Matching non greedy (non avida)
.+?
Matching non greedy (non avida)
18
Classi di caratteri 
●
w
qualsiasi lettera
●
W
qualsiasi non lettera
●
d
qualsiasi numero
●
D
qualsiasi non numero
19
Classi di caratteri 
●
s
qualsiasi carattere non stampabile
●
S
tutti i caratteri stampabili
20
Perl Compatible Regular Expressions
●
grep -P
matching usando le espressioni regolari PCRE
●
egrep
matching usando le espressioni regolari POSIX estese
●
grep
matching usando le espressioni regolari POSIX base

More Related Content

PDF
Comunicazione tra procesi Linux
PDF
Web base - Javascript (Node.js): Elementi di base
PDF
TypeScript, ovvero JavaScript che "non si rompe"
PDF
Web base-03-js-numeri stringearray
PPT
Presentazione Pseudocodice
PDF
Meetup Code Garden Roma e Java User Group Roma: metodi asincroni con Spring -...
PPT
Presentazione Pseudocodice
PDF
Le Espressioni Regolari e gli Automi
Comunicazione tra procesi Linux
Web base - Javascript (Node.js): Elementi di base
TypeScript, ovvero JavaScript che "non si rompe"
Web base-03-js-numeri stringearray
Presentazione Pseudocodice
Meetup Code Garden Roma e Java User Group Roma: metodi asincroni con Spring -...
Presentazione Pseudocodice
Le Espressioni Regolari e gli Automi

Similar to Espressioni regolari da 0 a esperti (17)

PDF
Regular expressions
ODP
Espressioni regolari
PDF
Introduzione al Perl (BMR Genomics) - Lezione 1 Agosto 2014
PDF
Bash intro
PDF
php: back to basics
PPT
Php Funzioni Built In Barbiera 97
PDF
Shell unix
PDF
Bash programming
PDF
Analisi delle differenze strutturali nelle espressioni regolari costruite da ...
ODP
Codemotion 2012 creare un proprio linguaggio di programmazione
PDF
Cosa è Gnu/Linux - Breve storia - Concetti fondamentali
PDF
Bash Scripting
DOC
Regular expression
PDF
As it e icloud
PDF
As it e icloud
PDF
La shell Bash - Comandi base - Comandi avanzati - Espressioni regolari
ODP
Seminario introduzione all'uso del terminale e della bash in Linux
Regular expressions
Espressioni regolari
Introduzione al Perl (BMR Genomics) - Lezione 1 Agosto 2014
Bash intro
php: back to basics
Php Funzioni Built In Barbiera 97
Shell unix
Bash programming
Analisi delle differenze strutturali nelle espressioni regolari costruite da ...
Codemotion 2012 creare un proprio linguaggio di programmazione
Cosa è Gnu/Linux - Breve storia - Concetti fondamentali
Bash Scripting
Regular expression
As it e icloud
As it e icloud
La shell Bash - Comandi base - Comandi avanzati - Espressioni regolari
Seminario introduzione all'uso del terminale e della bash in Linux
Ad

Espressioni regolari da 0 a esperti