BIOINFO3 - Lezione 281 PATTERN MATCHING E sicuramente una delle cose più utili del Perl, che lo rende un linguaggio estremamente potente. Permette di cercare.

Slides:



Advertisements
Presentazioni simili
Introduzione al linguaggio C++
Advertisements

LINGUAGGIO DI PROGRAMMAZIONE C
Sistemi Operativi - Vi 1 Il sistema operativo LINUX Leditor vi Giorgio Di Natale Stefano Di Carlo Politecnico di Torino Dip. Automatica e Informatica.
Alfabeti, Stringhe e Linguaggi
1 A B C D … a b c d … Il concetto di insieme 1
Dati, istruzione e pseudocodice
© 2007 SEI-Società Editrice Internazionale, Apogeo Unità F2 Selezione.
Selezione - approfondimento
3TC – Aprile 07 RIPASSOArray Procedure e Funzioni.
Inizio… Linguaggi Linguaggi di programmazione Linguaggi di programmazione Linguaggi di programmazione Linguaggi di programmazione Linguaggi Formali Linguaggi.
Linguaggi Regolari e Linguaggi Liberi
Algoritmi e Programmazione
Sistemi di Lindenmayer
INSIEMI INSIEME= gruppo di oggetti di tipo qualsiasi detti elementi dell’insieme. Un insieme è definito quando viene dato un criterio non ambiguo che.
1 Linguaggi di Programmazione - elementi Corso di Laurea in Informatica (AA 2005/2006) Gabriella Pasi e Carla Simone
Programmazione Procedurale in Linguaggio C++
Esercizi di esonero (a.a. 2007/2008) Compito C, terzo esercizio Data una sequenza di caratteri s1 ed una stringa s2 diciamo che s1 è contenuta in s2 se.
Algoritmi Politecnico di Milano
Introduzione alla programmazione
Università degli Studi di Bergamo Facoltà di Lingue e Letterature Straniere Facoltà di Lettere e Filosofia A.A Informatica generale 1 Appunti.
1 Corso di Laurea in Biotecnologie Informatica (Programmazione) Introduzione a JAVA Anno Accademico 2009/2010.
Corso di Informatica A.A Corso di Informatica Laurea Triennale - Comunicazione&Dams Dott.ssa Adriana Pietramala Laurea.
Corso di Informatica A.A Corso di Informatica Laurea Triennale - Comunicazione&Dams Dott.ssa Adriana Pietramala Dott.ssa.
Corso di Informatica A.A Corso di Informatica Laurea Triennale - Comunicazione&Dams Dott.ssa Adriana Pietramala Laurea.
Lezione 4: Costrutti Condizionali Prof. Raffaele Montella.
Fondamenti di Informatica I a.a Il linguaggio C Il controllo di flusso La selezione condizionale Listruzione switch I cicli Le istruzioni break,
Alfabeti, Stringhe e Linguaggi Def: un insieme è una collezione non ordinata di oggetti o elementi Gli insiemi sono scritti tra { }. Gli elementi sono.
Istruzioni di selezione in Java Programmazione Corso di laurea in Informatica.
Un’introduzione a HTML (I)
Lezione 7 informatica di base per le discipline umanistiche vito pirrelli Istituto di Linguistica Computazionale CNR Pisa Dipartimento di linguistica Università
Corso di Laurea in Ingegneria per lAmbiente e il Territorio Informatica per lAmbiente e il Territorio Docente: Giandomenico Spezzano Tutor: Alfredo Cuzzocrea.
Dichiarazioni e tipi predefiniti nel linguaggio C
Sistemi Operativi - Introduzione 1 Il sistema operativo UNIX Dettagli e comandi avanzati Niccolò Battezzati Politecnico di Torino Dip. Automatica e Informatica.
Vettori e Funzioni 3 Maggio Esercizio 1 Si scriva un programma in linguaggio C che, dopo aver acquisito il contenuto di un vettore di interi da.
JavaScript 3. Commenti in JS Come in altri linguaggi di programmazione anche javascript offre la possibilità di inserire i commenti all'interno delle.
Biologia Computazionale - Algoritmi
GLI INSIEMI Presentazione a cura della Prof.ssa anNUNZIAta DI BIASE
CAP. 2 ANALISI LESSICALE 2.1 Il ruolo dell'analizzatore lessicale
Cosa significa la parola funzione?
Introduzione ai linguaggi formali e alle stringhe
TEORIA DEGLI INSIEMI INIZIO.
Sono poligoni equilateri ed equiangoli
BIOINFO3 - Lezione 221 Listruzione IF-ELSE prevede un secondo blocco di istruzioni da eseguire in alternativa al primo nel caso la condizione sia falsa.
BIOINFO3 - Lezione 201 Come in ogni corso di introduzione ad un linguaggio di programmazione, proviamo a scrivere lormai celebre primo programma di prova.
BIOINFO3 - Lezione 211 INPUT La lettura di un input dallo standard input (tastiera) si effettua utilizzando lespressione. Quando il programma incontra.
BIOINFO3 - Lezione 17 VARIABILI
BIOINFO3 - Lezione 331 SUBROUTINE IN PERL Una subroutine (funzione, metodo, procedura o sottoprogramma), e` una prozione di codice all`interno di un programma.
BIOINFO3 - Lezione 291 PATTERN MATCHING Imparato cosa sono e come si usano le espressioni regolari per individuare dei pattern, vediamo come si usano in.
REDIREZIONE INPUT E OUTPUT
BIOINFO3 - Lezione 251 ARRAY ASSOCIATIVI E possibile assegnare tutti gli elementi dellarray con ununica istruzione %anni=(Marco,30,Luigi,33,Anna,28,Chiara,25);
Fopndamenti di programmazione. 2 La classe String Una stringa è una sequenza di caratteri La classe String è utilizzata per memorizzare caratteri La classe.
JAVA Per iniziare. Verificare installazione javac –version java –version Cercare i files e sistemare eventualmente il path.
Corso di Algoritmi e Strutture Dati con Laboratorio A.A. 2014/15 Espressioni regolari (cenni)
Lezione 3 Struttura lessicale del linguaggio
Insiemi.
Introduzione a Javascript
TEORIE E TECNICHE DEL RICONOSCIMENTO
Calcolo letterale.
Variabili Numeriche –Interi (byte, short, int, long): complemento a 2 –A virgola mobile (float, double): IEEE 745 Alfanumeriche –Carattere (char): Unicode.
Arduino: introduzione alla programmazione
Contare e ordinare files di testo Per contare i caratteri, le righe e le parole in un file di testo wc (word count) % wc human_proteins.fa Conta le parole.
Ancora sulla shell. Shell e comandi La shell e' un programma che interpreta i comandi dell'utente. I comandi possono essere dati da terminale, oppure.
Espressioni regolari (1)
Corso di Laurea Ingegneria Informatica Fondamenti di Informatica
“ Pseudocodice ” Un programma per computer lavorerà su in insieme di “ variabili ” contenenti i dati del problema, soluzioni intermedie, soluzioni finali.
A B C D … Insiemi e sottoinsiemi A ESEMPIO
TEORIA ELEMENTARE DEGLI INSIEMI
Linguaggi, stringhe e alfabeti. Linguaggi e grammatiche Un linguaggio è un sistema di comunicazione tra persone che permette di trasmettere informazioni.
DEFINIZIONE. La potenza di un numero è il prodotto di tanti fattori uguali a quel numero detto base, quanti ne indica l’esponente. La potenza di un numero.
Parsing ricorsivo discendente Il parsing ricorsivo discendente (recursive descent parsing) è un metodo di tipo top-down che può essere facilmente codificato.
Transcript della presentazione:

BIOINFO3 - Lezione 281 PATTERN MATCHING E sicuramente una delle cose più utili del Perl, che lo rende un linguaggio estremamente potente. Permette di cercare dei pattern allinterno delle stringhe, ovvero delle particolari sottostringhe descritte attraverso il linguaggio delle espressioni regolari. In termini insiemistici, data unespressione regolare: Insieme di tutte le stringhe Insieme delle stringhe non descritte dallespressione regolare Insieme delle stringhe descritte dallespressione regolare

BIOINFO3 - Lezione 282 LE ESPRESSIONI REGOLARI Le espressioni regolari vengono così chiamate per il tipo di linguaggio (grammatica), appunto regolare che permette di definirle. La classificazione delle grammatiche fu realizzata negli anni 50 da Noam Chomsky, famosissimo linguista, filosofo, storico e politico, attualmente tra i leader carismatici del movimento no global. Ma cominciamo a vedere alcune espressioni regolari:. Riconosce un qualsiasi carattere, escluso il new-line \n Riconosce il carattere di new-line (vai a capo) \t Riconosce il carattere di tab [ ] Riconosce un solo carattere tra quelli indicati allinterno delle parentesi, si può usare il simbolo – per indicare i caratteri compresi tra due estremi (ad esempio da a a z, da 0 a 9)

BIOINFO3 - Lezione 283 ESPRESSIONI REGOLARI: [ ] Esempi: [aeiou]riconosce una vocale [oi]riconosce una o o una i man[oi]riconosce tutte le stringhe che contengono man seguita da o o da i, ad esempio mano, mani, ma anche amano, amanita.an[oi]riconosce tutte le parole che contengono un qualunque carattere seguito da an e da o oppure i, ad esempio mano, mani, nano, nani, lanima, 6anonimo ma non animali [a-z]riconosce una lettere minuscola [A-Z]riconosce una lettera maiuscola [a-zA-Z]riconosce una lettera [0-9]riconosce una cifra (è uguale a [ ] o [ ])

BIOINFO3 - Lezione 284 ESPRESSIONI REGOLARI: [^ ] [^ ] Riconosce un carattere diverso da quelli indicati allinterno delle parentesi [^0-9] riconosce un qualsiasi carattere non numerico [^a-zA-Z] riconosce un qualsiasi carattere non alfabetico Altri simboli: \d Riconosce una cifra (= [0-9]) \D Riconosce un carattere diverso da una cifra (= [^0-9]) \w Riconosce un carattere alfanumerico (= [a-zA-Z0-9]) \W Riconosce un carattere non alfanumerico (= [^a-zA-Z0-9]) \s Riconosce un carattere di spaziatura (spazi, new-line, tab,…) \S Riconosce un carattere non di spaziatura

BIOINFO3 - Lezione 285 ESPRESSIONI REGOLARI: ? ? Il carattere o lespressione regolare precedente (si possono usare le parentesi) è facoltativa (compare 0 o 1 volte) vai? riconosce vai ma anche va, Evvai!, divario ovvero tutto ciò che contiene vai o va penn?a riconosce penna, pena ma anche appena, ovvero tutto ciò che contiene penna o pena [1-2]?\d\d\d riconosce un numero formato da 3 o 4 cifre. Se a 4 cifre, la prima è un 1 oppure un 2

BIOINFO3 - Lezione 286 ESPRESSIONI REGOLARI: * * Il carattere o lespressione regolare precedente (si possono usare le parentesi) può essere ripetuta 0 o più volte sat20* riconosce sat2 ma anche sat20, sat200, 123sat231 ovvero tutto ciò che contiene sat2 seguito da un numero qualsiasi di zeri (anche nessuno) [0-9]* riconosce una sequenza di 0 o più cifre, quindi qualsiasi numero naturale o la stringa vuota ma*mma riconosce mmma, mamma, maamma, maaamma, …

BIOINFO3 - Lezione 287 ESPRESSIONI REGOLARI: + + Il carattere o lespressione regolare precedente (si possono usare le parentesi) deve essere ripetuta 1 o più volte sat20+ riconosce sat20 ma anche sat200, sat2000, 123sat2031 ovvero tutto ciò che contiene sat2 seguito da almeno uno zero [0-9]+ riconosce una sequenza di 1 o più cifre, quindi qualsiasi numero naturale ma+mma riconosce mamma, maamma, maaamma, … {} Se conosciamo il numero esatto di ripetizioni del carattere o dellespressione regolare precedente, tale numero si può indicare tra {}

BIOINFO3 - Lezione 288 ESPRESSIONI REGOLARI: | | Permette di scegliere tra due o più alternative (espressioni regolari) pippo|pluto|pflip Riconosce tutte le stringhe che contengono pippo, pluto o pflip, ad esempio anche plutone, Io mi chiamo pippo cas(a|etta) Riconosce tutte le stringhe contenenti casa o casetta : era equivalente scrivere cas(ett)?a cass?(a|etta) Riconosce tutte le stringhe contenenti casa, cassa, casetta, cassetta

BIOINFO3 - Lezione 289 CARATTERE DI ESCAPE Il carattere \ funziona anche in questo caso da carattere di escape e permette di far riconoscere anche i caratteri che danno significato alle espressioni regolari \\ Permette di riconoscere un \ \| Permette di riconoscere un | \+ Permette di riconoscere un + \* Permette di riconoscere un * \? Permette di riconoscere un ? \. Permette di riconoscere un. \( \) Permettono di riconoscere le parentesi tonde \[ \]) Permettono di riconoscere le parentesi quadre \{ \} Permettono di riconoscere le parentesi graffe \(\w+\.\w+\) riconosce un pattern formato da due stringhe alfanumeriche unite da un. racchiuso tra parentesi tonde

BIOINFO3 - Lezione 2810 ESPRESSIONI REGOLARI: ^ e $ ^ Indica che il pattern deve essere presente ad inizio della stringa (da non confondere con il ^ allinterno delle parentesi quadre) ^mare Riconosce tutte le stringhe che iniziano con mare: mare, maremma,maretta,… ma non amare riconosciuto da mare (senza il ^). $ Indica che il pattern deve essere presente alla fine della stringa asso$ Riconosce tutte le stringhe che terminano con asso: materasso, collasso, golasso, madrasso,… ma non associato, rassomigliare riconosciute da asso (senza il $)

BIOINFO3 - Lezione 2811 ESERCIZI Scrivere lespressione regolare che riconosce: Ad inizio stringa il simbolo di maggiore seguito da un numero qualsiasi di spazi bianchi (anche 0) e da un codice alfanumerico di almeno 1 carattere ^> *\w+ In qualunque punto della stringa la stringa cognome seguita immediatamente da : e da almeno uno spazio bianco. Segue poi un cognome di una persona cognome: +[A-Za-z \-]+ In qualunque punto della stringa o la stringa ANNI: seguita da un numero qualsiasi di spazi (anche 0) e da un numero oppure la stringa SESSO: seguita da un numero qualsiasi di spazi (anche 0) e da M o F (ANNI: *\d+)|(SESSO: *[MF])

BIOINFO3 - Lezione 2812 RIEPILOGO Espressioni regolari: [ ] e [^ ] ? * + { } | \ ^ e $