Python Standard Library. Espressioni Regolari
|
|
- Casimiro Quaranta
- 6 anni fa
- Visualizzazioni
Transcript
1 Python Standard Library Espressioni Regolari
2 Espressioni Regolari Un'espressione regolare (regular expression o regex) è una sequenza di caratteri che identifica un insieme di stringhe. Sono un potente strumento che consente di trovare, estrarre e sostituire parti di testo all'interno di un documento. Benché siano state formalizzate dal punto di vista puramente matematico fin dagli anni quaranta, è con l'avvento dei sistemi UNIX che comparirono i primi tool basati sulle espressioni regolari (tra cui un precursore dell'attuale grep).
3 Esempi di regex [-+]?[0-9]+ Trova tutti i numeri interi con segno. ^.*\.txt$ Trova tutti i file che hanno estensione txt. \d{1,3}\.\d{1,3}\.\d{1,3}\.\d{1,3} Trova gli indirizzi IPv4. ^4[0-9]{12}(?:[0-9]{3})?$ Trova numeri di carte di credito.
4 Le regex più semplici Nella loro forma più semplice, una regex è una sequenza di caratteri alfanumerici. abc ad esempio, trova la stringa 'abc'. Le espressioni regolari, di norma, sono case sensitive. La regex di prima infatti troverà la stringa 'abc', ma non la stringa 'Abc' o 'abc'. Le regex possono, tramite regole opportune, trovare qualsiasi carattere, compresi gli altri caratteri ASCII ('~', ' ') e persino quelli Unicode ('è', '1', ' '). Bisogna tuttavia porre attenzione al fatto che alcuni caratteri hanno una funzione particolare nel linguaggio delle regex.
5 Notazione Le espressioni regolari saranno sempre indicate in carattere monospaced. Per indicare che una regex trova un determinato insieme di stringhe verrà utilizzato il simbolo. L'insieme di stringhe trovate da una regex seguono la consueta notazione insiemistica. Un insieme illimitato è delimitato dai puntini di sospensione. abc {'abc'}
6 Quantificatore * * Detto anche stella di Kleene, serve per trovare famiglie di stringhe che hanno da 0 a N ripetizioni di uno stesso carattere. ab*c {'ac', 'abc', 'abbc', 'abbbc', } I quantificatori si riferiscono sempre al carattere immediatamente precedente.
7 Quantificatori + e? + Identico a *, ma le ripetizioni ammesse sono da 1 a N, e non da 0 a N.? ab+c {'abc', 'abbc', 'abbbc', } Ammette l'opzionalità del carattere precedente (può essere presente 0 o 1 volta). ab?c {'ac', 'abc'}
8 Operatore \ \ Effettua l'escaping del carattere precedente, se esso è un carattere particolare. a** Non valida a\** {'a', 'a*', 'a**', 'a***', } a*\* {'*', 'a*', 'aa*', 'aaa*', } a\*\* {'a**'} a\c Non valida a\\c {'a\c'}
9 Gruppi In realtà non è vero che gli operatori si applicano al carattere precedente: è più corretto dire che si applicano al token precedente. Un token, nel caso più semplice, è un carattere, ma può essere anche un gruppo o una classe di caratteri. In particolare, un gruppo di caratteri è una stringa delimitata dalle parentesi tonde. a(bc)*d {'ad', 'abcd', 'abcbcd', } Nell'esempio precedente, il token su cui è applicata la stella di Kleene è (bc). L'ordine dei caratteri all'interno del gruppo è importante! a(cb)*d {'ad', 'acbd', 'acbcbd', }
10 Operatore Specifica alternative all'interno di un gruppo. gr(a e)y {'gray', 'grey'} In un gruppo possono essere presenti più alternative in qualsiasi ordine, e le alternative sono stringhe di qualsiasi lunghezza. (cla repl gu)y {'clay', 'reply', 'guy'} È inoltre possibile specificare la stringa vuota come alternativa: (na )y {'y', 'nay'}
11 Classi Esiste un modo più pratico per trovare alternative di singoli caratteri, ossia definire una classe di caratteri. Una classe di caratteri è un insieme non ordinato di caratteri in alternativa tra di loro delimitato da parentesi quadre. La regular expression gr(a e)y può essere dunque riscritta come: gr[ae]y {'gray', 'grey'}
12 Classi I quantificatori visti finora perdono di significato se sono inseriti all'interno di una classe, eccetto l'operatore \. a[-+*\\]b {'a+b', 'a-b', 'a*b', 'a\b'} Una classe di caratteri è anche essa un token su cui è possibile applicare un quantificatore. a[cd]?b {'ab', 'acb', 'adb'} Lo spazio è un carattere ammesso. a[ _]b {'a_b', 'a b'}
13 Intervalli Il carattere - definisce un intervallo di caratteri all'interno di una classe. Esso è utilizzabile solamente per definire intervalli di caratteri alfanumerici, sia uppercase che lowercase: se usato singolarmente si comporta come un normale carattere. 1[0-4] {'10', '11', '12', '13', '14'} [A-Za-z]* una qualsiasi sequenza di lettere [+-]?17 {'17', '+17', '-17'}
14 Negazione Il carattere ^, se posto all'inizio di una classe, specifica che la classe rappresenta i caratteri che NON devono essere presenti. Perde questo significato se è non è il primo carattere di una classe. 1[^0-4] {'15', '16', '1a', '1T', } a[&^ ]b {'a&b', 'a^b', 'a b'}
15 Classi speciali. Trova qualsiasi carattere eccetto il newline '\n'. \d. {'a', 'b', '4', '&', } Trova caratteri numerici. Include [0-9] ma anche tutti i caratteri non-ascii riconducibili a numeri. \d {'0', '1', '2', '3', '0', }
16 Classi speciali \s Trova whitespace. Include [ \t\n\r\f\v] e tutti i caratteri whitespace speciali Unicode. \w Trova caratteri alfanumerici. Include [A-Za-z0-9_] ma anche tutti i caratteri non-ascii riconducibili a numeri o lettere. \w {'a', 'T', '9', 'è', '1', '_', }
17 Classi speciali Esistono anche le classi duali di \d, \w, e \s, e sono rispettivamente \D, \W, \S. Esse trovano esattamente i caratteri complementari alle classi base: \D trova tutti i caratteri che non sono numeri. \W trova tutti i caratteri che non sono numeri né lettere. \S trova tutti i caratteri non whitespace. \W {'#', '[', '+', '.', ' ', }
18 Classi speciali Le classi speciali \d, \w, e \s, e le loro duali possono essere utilizzate all'interno di altre classi. [\dab] {'0', '1', '2',, 'a', 'B'} Il punto all'interno di una classe invece vale sempre e solo come carattere, non come classe. [^.] tutti i caratteri tranne '.'
19 Quantificatori greedy e lazy Di norma, i quantificatori sono sempre greedy, ossia cercano di trovare quanti più caratteri possibili. A volte questo comportamento non è quello desiderato. Immaginiamo di volere estrarre il nome del tag dal seguente frammento di HTML: <div>some paragraph</div>
20 Quantificatori greedy e lazy <div>some paragraph</div> Regex pattern: <.*> Sappiamo che il punto trova qualsiasi carattere eccetto il newline. Il problema è che anche '>' è un carattere! È quindi perfettamente logico che venga incluso nella stringa trovata.
21 Quantificatori greedy e lazy La soluzione al problema è rendere il quantificatore lazy, facendogli catturare la minor quantità di caratteri possibili che soddisfano l'espressione regolare. Per specificare che un quantificatore è lazy si usa il punto interrogativo. <div>some paragraph</div> Regex pattern: <.*?>
22 Ancore Quando si ricerca una pattern all'interno di una stringa, a volte è utile specificare esplicitamente dove questa pattern deve essere collocata all'interno del testo. hear ya, hear ya Regex pattern: hear Esistono degli operatori, chiamati ancore (anchors), che vincolano la posizione delle sequenze di caratteri trovate.
23 Ancore ^ Vincola la posizione della sequenza di caratteri trovata all'inizio della stringa. $ hear ya, hear ya Regex pattern: ^hear Vincola la posizione della sequenza di caratteri trovata alla fine della stringa. hear ya, hear ya Regex pattern: ya$
24 Modulo re Python permette, tramite il suo modulo re, di utilizzare il motore delle espressioni regolari.
25 re.search re.search(pattern, string, flags=0) Cerca in string la pattern regex specificata. flags è un intero che modifica il comportamento della funzione. Il suo valore di ritorno è un Match object. >>> html = '<div>another paragraph</div>' >>> re.search('<.*?>', html) <_sre.sre_match object at 0x1ab06a0>
26 Match object Contengono varie informazioni sulle stringhe trovate. Sono convertibili automaticamente al booleano True: match = re.search(pattern, string) if match: process(match) I match object possono essere usati per accedere alle stringhe trovate corrispondenti ai vari gruppi.
27 match.group match.group([group1, ]) Restituisce una o più stringhe trovate corrispondenti a uno o più gruppi. Chiamata senza argomenti è equivalente a chiamare match.group(0). Se uno dei groupn è 0, il valore corrispondente sarà l'intera stringa trovata. Se vengono passati più gruppi come parametri, restituisce una tupla contenente tutte le stringhe relative a quei gruppi.
28 Esempio >>> import re >>> text = "Isaac Newton, physicist" >>> m = re.match(r"(\w+) (\w+)", text) >>> m.group() 'Isaac Newton' >>> m.group(1) 'Isaac' >>> m.group(0, 2) ('Isaac Newton', 'Newton')
29 Raw strings Per evitare di inserire troppi caratteri di escape, in python è possibile dichiarare una stringa come raw string. Le raw string si dichiarano mettendo la lettera r prima della stringa. >>> r'hello!\n' 'Hello!\\n'
30 match.groups match.groups(default=none) Restituisce una tupla contenente tutte le stringhe trovate dai vari gruppi. default è usato quando un gruppo opzionale non è presente nella stringa d'origine. >>> import re >>> m = re.match(r"(\d+)\.?(\d+)?", "24") >>> m.groups() ('24', None) >>> m.groups('0') ('24', '0')
31 re.sub re.sub(pattern, repl, string, count=0, flags=0) Sostituisce in string la pattern regex specificata con la stringa repl fino ad un massimo di count volte. Se count è 0 sostituisce tutte le occorrenze di pattern con repl. flags è un intero che modifica il comportamento della funzione. >>> html = '<div>another paragraph</div>' >>> re.sub('(</ <).*?>', r'\1span>', html) ' <span>another paragraph</span>'
32 Backreference La \1 nell'esempio è chiamata backreference. Viene sostituita durante l'elaborazione con la stringa trovata dalla pattern specificata nel primo gruppo. \1 assumerà il valore corrispondente alla stringa che viene trovata dalla pattern del primo gruppo. <div>another paragraph</div> Regex pattern: (</ <).*?> Match: <div> \1 = '<' Match: </div> \1 = '</' Se sono definiti più gruppi, è possibile usare la backreference \i (ove i è un numero) per ricavare il valore dell'i-esimo gruppo.
33 re.split re.split(pattern, string, maxsplit=0, flags=0) Divide string in frammenti usando come divisore pattern, creando al massimo maxsplit frammenti. Se maxsplit è 0 invece divide la stringa il più possibile. flags è un intero che modifica il comportamento della funzione. Restituisce una lista di stringhe corrispondenti ai frammenti.
34 Esempio >>> import re >>> text = 'Words, words, words.' >>> re.split('\w+', text) ['Words', 'words', 'words', ''] >>> re.split('\w+', text, 1) ['Words', 'words, words.']
35 Alcune flag re.dotall (re.s) Il. trova anche i caratteri newline '\n'. re.multiline (re.m) La ricerca viene effettuata su ogni linea della stringa, non una volta sola. re.ignorecase (re.i) Ignora il case delle lettere presenti in pattern.
36 Alcune flag re.unicode (re.u) Le classi \w, \d, \s e duali trovano, oltre ai caratteri ASCII corrispondenti, anche eventuali caratteri Unicode equivalenti.! In python 3 è il comportamento di default, quindi non è necessario specificarlo. re.ascii (re.a) Le classi \w, \d, \s e duali trovano solamente caratteri ASCII.! In python 2 è il comportamento di default, e questa flag non esiste.
37 re.compile re.compile(pattern, flags=0) È possibile compilare una pattern in un oggetto regex. Questo è utile se si pensa di riutilizzare la stessa regex pattern più di una volta. flags ha lo stesso significato dei metodi Sull'oggetto regex è possibile chiamare i metodi search, sub e split. >>> import re >>> regex = re.compile(pattern) >>> regex.search(text)
38 Esercizio: iwget iwget è un'utilità a riga di comando che scarica tutte le immagini di una pagina web. Per farlo dobbiamo compiere i seguenti passi: 1. Accettare l'url della pagina web da riga di comando. 2. Scaricare la pagina (X)HTML corrispondente all'url. 3. Leggere il contenuto di tutti gli attributi src delle tag img, tenendo presente che l'(x)html non sempre è ben formato. 4. Per ogni match, scaricare l'immagine in una qualsiasi cartella locale.
39 Esercizio: iwget Per svolgere questo esercizio abbiamo bisogno di una libreria che consente di scaricare pagine web. Non è tuttavia parte del corso spiegare come utilizzarla. La soluzione? Documentazione ufficiale!
Linguistica Computazionale
Linguistica Computazionale Laboratorio espressioni regolari (1) 30 settembre 2014 Cercare, ricercare Cercare una parola in un testo è semplice: ma come fare per ricerche più complesse? le parole che terminano
DettagliEspressioni Regolari. Giancarlo Massidda
Espressioni Regolari Giancarlo Massidda Espressioni regolari O RegEx dall inglese regular expression Traduzione errata: dovrebbe essere espressioni basate su regole Si tratta di un sistema per descrivere
DettagliL ambiente UNIX/Linux. Espressioni regolari e comando find Stefano Quer Dipartimento di Automatica e Informatica Politecnico di Torino
L ambiente UNIX/Linux Espressioni regolari e comando find Stefano Quer Dipartimento di Automatica e Informatica Politecnico di Torino 2 Espressioni regolari Nate nel 1956 a opera del matematico Stephen
DettagliLinguistica Computazionale
Linguistica Computazionale Salvatore Sorce Dipartimento di Ingegneria Chimica, Gestionale, Informatica e Meccanica Ludici Adattati da Alessandro Lenci Dipartimento di Linguistica T. Bolelli Espressioni
DettagliL ambiente UNIX/Linux. I filtri Stefano Quer Dipartimento di Automatica e Informatica Politecnico di Torino
L ambiente UNIX/Linux I filtri Stefano Quer Dipartimento di Automatica e Informatica Politecnico di Torino 2 Filtri In UNIX/Linux un filtro è un comando che Riceve il proprio input da standard input Lo
DettagliUlteriori comandi sui file
Ulteriori comandi sui file Confronto tra file: 1. > cmp file1 file2 restituisce il primo byte ed il numero di linea in cui file1 e file2 differiscono (se sono uguali, non viene stampato nulla a video).
DettagliEspressioni regolari in Javascript (RegExp)
Espressioni regolari in Javascript (RegExp) Antonio Lioy < lioy @ polito.it > Politecnico i di Torino Dip. Automatica e Informatica (estensione di materiale preparato da Andrea S. Atzeni) Le espressioni
DettagliLab. di Sistemi Operativi - Lezione in aula - a.a. 2012/2013
Lab. di Sistemi Operativi - Lezione in aula - a.a. 2012/2013 Espressioni Regolari 1 Sommario Metacaratteri Quoting Comandi di filtro: grep Espressioni Regolari (E.R.): I caratteri grep con E.R. 2 - Metacaratteri
DettagliPrimi passi con JFlex
Primi passi con JFlex Luca Chiodini Abstract Ci proponiamo di muovere i primi passi nel mondo dell analisi lessicale e della produzione automatica di un analizzatore lessicale. Verrà mostrato l uso di
DettagliCome si accelera il caricamento delle immagini in una pagina con roll-over?
Come si accelera il caricamento delle immagini in una pagina con roll-over? Creare una cache per le immagini! Il Browser carica le immagini presenti in una pagina seguendo l ordine con cui esse sono inserite
DettagliElementi lessicali. Lezione 4. La parole chiave. Elementi lessicali. Elementi lessicali e espressioni logiche. Linguaggi di Programmazione I
Lezione 4 Elementi lessicali e espressioni logiche Matricole 2-3 Elementi lessicali il linguaggio C ha un suo vocabolario di base i cui elementi sono detti token esistono 6 tipi di token: parole chiave
DettagliHTML. Hyper Text Mark-Up Language
HTML Hyper Text Mark-Up Language Cos è l HTML? È un linguaggio usato per descrivere documenti ipertestuali disponibili nel Web È un linguaggio di marcatura del testo che descrive il contenuto e il formato
DettagliGestione avanzata dei file
Gestione avanzata dei file Espressioni jolly * qualunque insieme di caratteri? un solo carattere qualunque ^ nega l'espressione seguente [ ] carattere singolo in un range di caratteri possibili [a-c] le
DettagliLinguistica Applicata
Linguistica Applicata 2007 2008 Lezioni 8/9: Collocazioni e Keywords, Espressioni regolari, Preparazione della ricerca per la tesina Tutor: Dott. Emiliano Guevara 1 1 Facoltà di Lingue e Letterature Straniere
DettagliGiselda De Vita 2015
! La funzione CERCA.VERT (Cerca Verticale) è la funzione Excel che, più di altre, permette di risparmiare tempo, lavorare senza errori e soprattutto evitare il fenomeno degli "occhi incrociati".! ! La
DettagliAccess. P a r t e t e r z a
Access P a r t e t e r z a 1 Query: Concetti generali (2) Query 1 Tabella Query 2 Le query rappresentano viste differenti sul DB (possono coinvolgere una o più tabelle) 2 Creazione (1) Diverse possibilità,
DettagliLinguistica Computazionale
Linguistica Computazionale Salvatore Sorce Dipartimento dell Innovazione Industriale e Digitale Ingegneria Chimica Gestionale Informatica Meccanica Ludici Adattati da Alessandro Lenci Dipartimento di Linguistica
DettagliCorso di Matematica per la Chimica. Dott.ssa Maria Carmela De Bonis a.a
Dott.ssa Maria Carmela De Bonis a.a. 2013-14 Programmi Un elaboratore riceve dei dati in ingresso, li elabora secondo una sequenza predefinita di operazioni e infine restituisce il risultato sotto forma
DettagliMakefile. Il file dependency system di Unix (serve ad automatizzare il corretto aggiornamento di più file che hanno delle dipendenze)
Makefile Il file dependency system di Unix (serve ad automatizzare il corretto aggiornamento di più file che hanno delle dipendenze) 1 makefile: idea di fondo (1) Permette di esprimere dipendenze fra file
DettagliEspressioni regolari
Espressioni regolari 1 Alfabeto Un espressione regolare è una sequenza di caratteri che identifica un insieme di stringhe Se viene utilizzata per vincolare uno spazio lessicale solo le stringhe appartenenti
DettagliIntroduzione al software R
Introduzione al software R 1 1 Università di Napoli Federico II cristina.tortora@unina.it il software R Si tratta di un software molto flessibile che permette di compiere praticamente qualsiasi tipo di
DettagliStructured Query Language
IL LINGUAGGIO SQL Structured Query Language Contiene sia il DDL sia il DML, quindi consente di: Definire e creare il database Effettuare l inserimento, la cancellazione, l aggiornamento dei record di un
DettagliMANUALE MODULO WIDGET EVENT TRACKING LICENZA SaaS
MANUALE MODULO WIDGET EVENT TRACKING LICENZA SaaS Revisione 1.0 Beta Ultimo Aggiornamento: 07/12/2010 SOMMARIO Panoramica... 3 Gli eventi tracciati... 3 I report... 4 Struttura... 4 Report / Object...
DettagliIntroduzione a Matlab
INFORMATICA B Ingegneria Elettrica Introduzione a Matlab Introduzione a Matlab Matlab (MATrix LABoratory) è uno strumento per il calcolo scientifico ed ingegneristico Matlab facilita lo sviluppo di programmi
DettagliGli statement. Gli statement. Gli statement. Gli statement. Gli statement
Ogni istruzione di uno script viene chiamata statement. La fine di uno statmenet e' indicata dal simbolo ;. Anche se in ActionScript il ; è opzionale, si consiglia di metterlo ugualmente per aumentare
DettagliLinguaggi di Markup. Violetta Lonati. Dipartimento Scienze dell Informazione Università degli Studi di Milano
Linguaggi di Markup Violetta Lonati a Dipartimento Scienze dell Informazione Università degli Studi di Milano a E garantito il permesso di copiare, distribuire e/o modificare i materiali cont enuti in
DettagliLinguistica Computazionale
Linguistica Computazionale Laboratorio espressioni regolari (2) 09 ottobre 2014 Esercizi Formalizzare con le espressioni regolari i patterns per trovare le seguenti stringhe: tutte le vocali minuscole
DettagliCaratteristiche di un linguaggio ad alto livello
Caratteristiche di un linguaggio ad alto livello Un linguaggio ad alto livello deve offrire degli strumenti per: rappresentare le informazioni di interesse dell algoritmo definire le istruzioni che costituiscono
DettagliLaboratorio di Programmazione Laurea in Ingegneria Civile e Ambientale
Dipartimento di Ingegneria dell Informazione Università degli Studi di Parma Laboratorio di Programmazione Laurea in Ingegneria Civile e Ambientale Algebra di Boole Stefano Cagnoni Algebra di Boole L algebra
DettagliExcel 3. Master Universitario di II livello in MANAGER NELLE AMMINISTRAZIONI PUBBLICHE A.A Prof.ssa Bice Cavallo
Excel 3 Master Universitario di II livello in MANAGER NELLE AMMINISTRAZIONI PUBBLICHE A.A. 2013-2014 Prof.ssa Bice Cavallo Ordinamento dei dati: ordinamento di un elenco l Excel è in grado di ordinare
DettagliSistemi Mobili e Wireless Android - Risorse
Sistemi Mobili e Wireless Android - Risorse Stefano Burigat Dipartimento di Matematica e Informatica Università di Udine www.dimi.uniud.it/burigat stefano.burigat@uniud.it Risorse in Android In Android,
DettagliD B M G Il linguaggio HTML
Programmazione Web Il linguaggio HTML Il linguaggio HTML Concetti di base Le interfacce utente in HTML I form Le tabelle Il passaggio dei parametri contenuti nei form @2011 Politecnico di Torino 1 Concetti
DettagliProgrammazione Orientata agli Oggetti. Emilio Di Giacomo e Walter Didimo
Programmazione Orientata agli Oggetti Emilio Di Giacomo e Walter Didimo Una metafora dal mondo reale la fabbrica di giocattoli progettisti Un semplice giocattolo Impara i suoni Dall idea al progetto Toy
DettagliIn questo articolo descriveremo le formule da applicare alle seguenti operazioni sulle stringhe di testo:
a cura di Giovanna Arcadu, Paolo Ardizzoni, Ignazio Putignano In questo articolo descriveremo le formule da applicare alle seguenti operazioni sulle stringhe di testo: 1. Contare il numero di occorrenze
DettagliCODIFICA DEL TESTO 0???????
CODIFICA DEL TESTO Simboli da rappresentare: lettere a,b,c,.z,a,b,c,.z cifre 0,1,2,3, 9 simboli di punteggiatura ;:,. Rappresentati mediante sequenze di bit Una codifica dei simboli è perciò (almeno) una
Dettagli<Nome Tabella>.<attributo>
Informatica Generale (AA 07/08) Corso di laurea in Scienze della Comunicazione Facoltà di Lettere e Filosofia Università degli Studi di Salerno : SQL (2) Tabelle mult., variabili, aggreg, group Prof. Alberto
DettagliEsempio B2.1: dire il grado del monomio seguente rispetto ad ogni lettera e il suo grado complessivo:
B. Polinomi B.1 Cos è un polinomio Un POLINOMIO è la somma di due o più monomi. Se ha due termini, come a+b è detto binomio Se ha tre termini, come a-3b+cx è detto trinomio, eccetera GRADO DI UN POLINOMIO
DettagliI vettori in C. Vettori. Definizione di vettori in C. int dato[10] ; int. Numero di elementi. Tipo di dato base. Nome del vettore.
I vettori in C Sintassi della definizione Definizione di costanti Operazioni di accesso Vettori Definizione di vettori in C I vettori in C Definizione di vettori in C Definizione di vettori in C Stesse
DettagliTRADUZIONE STATE AND TRANSITION DIAGRAM UML E CORRETTEZZA DEI PROGRAMMI IN TLA+
TRADUZIONE DI STATE AND TRANSITION DIAGRAM UML E CORRETTEZZA DEI PROGRAMMI IN TLA+ a cura di: Eleonora Antonelli Simone Maletta Stefano Novara INDICE 1. Grammatica di TLA+ a cura di Eleonora Antonelli
DettagliAlgebra Relazionale. T. Catarci, M. Scannapieco, Corso di Basi di Dati, A.A. 2008/2009, Sapienza Università di Roma
Algebra Relazionale 1 Linguaggi di interrogazione relazionale Linguaggi di interrogazione: permettono la manipolazione e il reperimento di dati da una base di dati Il modello relazionale supporta LI semplici
DettagliLa rappresentazione delle informazioni
La rappresentazione delle informazioni In queste pagine cercheremo di capire come sia possibile rappresentare mediante numeri e memorizzare in un file testi, immagini, video, suoni... Il computer per lavorare
DettagliLA SINTASSI DEI LINGUAGGI DI PROGRAMMAZIONE. Ivan Lanese
LA SINTASSI DEI LINGUAGGI DI PROGRAMMAZIONE Ivan Lanese argomenti Grammatiche BNF Varianti: BNF + ε EBNF Remind: cos è una grammatica Una grammatica è uno strumento linguistico per definire insiemi di
DettagliHTML: FORM. Prof. Francesco Accarino IIS Altiero Spinelli Via Leopardi 132 Sesto San Giovanni
HTML: FORM Prof. Francesco Accarino IIS Altiero Spinelli Via Leopardi 132 Sesto San Giovanni Form Text Radio Select CheckBox TextArea Button ... L'elemento serve per delimitare un modulo
Dettagli@2011 Politecnico di Torino 1
Concetti di base Programmazione Web Il linguaggio HTML HTML consente di annotare un testo per contrassegnare le parti che lo compongono Le annotazioni sono realizzate tramite i "tag" Visualizzare documenti
DettagliSQL e linguaggi di programmazione. Cursori. Cursori. L interazione con l ambiente SQL può avvenire in 3 modi:
SQL e linguaggi di programmazione L interazione con l ambiente SQL può avvenire in 3 modi: in modo interattivo col server attraverso interfacce o linguaggi ad hoc legati a particolari DBMS attraverso i
Dettaglielenco= Luca Rossi 2345234 - Mario Bianchi 82342342 - Marco Verdi 342342342
Espressioni regolari metodo per verificare se una stringa ha una certa forma cercare una stringa in un altra esempio: elenco telefonico cerchiamo "Mario": import re elenco= Luca Rossi 2345234 - Mario Bianchi
DettagliIntroduzione ai Motori di Ricerca
I motori di ricerca Introduzione ai Motori di Ricerca I Motori di Ricerca sono senz altro la risorsa principale a disposizione dell utente per la ricerca di informazioni su Internet. Ma cosa sono esattamente
DettagliScritto da Donato Savino Venerdì 26 Febbraio :58 - Ultimo aggiornamento Venerdì 21 Gennaio :17
In questo articolo analizzeremo le caratteristiche di uno dei più completi editor di testo. TextPad è un eccellente editor sviluppato per piattaforma Windows (32-bit e 64-bit di Windows 7, Vista, XP, 2000,
DettagliLinguaggi e Ambienti di Programmazione
Linguaggi e Ambienti di Programmazione Principi e tecniche diffuse che si incontrano spesso nelle applicazioni dell informatica. Compilatori Editor di struttura: riceve in input una sequenza di comandi
DettagliLa ricerca dei codici
La ricerca dei codici Le possibilità di ricerca Raffina ricerca Ricerca per ambiti nei Codici Ricerca per indice analitico Full text Ricerca assistita Pulsante Vai alla prima parola trovata all interno
DettagliInput/output da file I/O ANSI e I/O UNIX FLUSSI E FILE FLUSSI FLUSSI di TESTO FLUSSI BINARI FILE
Input/output da file Il linguaggio C non contiene istruzioni di I/O, in quanto tali operazioni vengono eseguite tramite funzioni di libreria standard. Questo approccio rende estremamente flessibile e potente
DettagliLaboratorio 02. Programmazione - CdS Matematica. Mirko Polato 3 Novembre 2015
Laboratorio 02 Programmazione - CdS Matematica Mirko Polato 3 Novembre 2015 Contenitori Spesso è necessario utilizzare contenitori di oggetti. 2 of 26 Contenitori Spesso è necessario utilizzare contenitori
DettagliFunzioni e moduli. Andrea Passerini Informatica. funzioni e moduli
Funzioni e moduli Andrea Passerini passerini@disi.unitn.it Informatica Funzioni nella programmazione Descrizione Una funzione è una sequenza di istruzioni cui viene dato un nome Questo permette di riutilizzare
DettagliA lezione sono stati presentati i seguenti passi per risolvere un problema:
Calcolo delle radici di un polinomio Problema: Dati i coefficienti a,b,c di un polinomio di 2 grado della forma: ax^2 + bx + c = 0, calcolare le radici. A lezione sono stati presentati i seguenti passi
DettagliCorso di Linguaggi di Programmazione
Corso di Linguaggi di Programmazione Lezione 5 Alberto Ceselli alberto.ceselli@unimi.it Università degli Studi di Milano 12 Marzo 2013 Le funzioni sono oggetti di prima classe in Scheme In Scheme le funzioni
DettagliCaratteri e stringhe
Caratteri e stringhe Caratteri Dato che un computer può memorizzare esclusivamente sequenze di bit, per memorizzare un carattere (e quindi testi) è necessario stabilire una convenzione che associa a un
DettagliL ambiente UNIX/Linux Espressioni regolari e comando find
L ambiente UNIX/Linux Espressioni regolari e comando find Stefano Quer Dipartimento di Automatica e Informatica Politecnico di Torino 2 Espressioni regolari Nate nel 1956 a opera del matematico Stephen
DettagliProgrammazione web lato client con JavaScript. Marco Camurri 1
Programmazione web lato client con JavaScript Marco Camurri 1 JavaScript E' un LINGUAGGIO DI PROGRAMMAZIONE che consente di inserire codice in una pagina web Sintassi simile a Java (e al C), ma NON E'
DettagliCome creare un nuovo Prodotto per ebay con Var.
imaio.com imaio v. 3.0 Come creare un nuovo Prodotto per ebay con Var. In questa guida verra illustrato come creare un nuovo prodotto sul sistema imaio III per essere poi pubblicato sul Negozio ebay con
DettagliLinguaggio C: introduzione
Dipartimento di Elettronica ed Informazione Politecnico di Milano Informatica e CAD (c.i.) - ICA Prof. Pierluigi Plebani A.A. 2008/2009 Linguaggio C: introduzione La presente dispensa e da utilizzarsi
DettagliLaboratorio di Tecnologie Web HTML: Tabelle Dott. Stefano Burigat
Laboratorio di Tecnologie Web HTML: Tabelle Dott. Stefano Burigat www.dimi.uniud.it/burigat Come usare le tabelle Le tabelle HTML possono essere utilizzate in tutti quei casi in cui sia necessario inserire
DettagliJavascript. - Corso Web Design - Media Dream Academy. Stefano Gaborin
Javascript - Corso Web Design - Media Dream Academy Stefano Gaborin stefano.gaborin@above.company www.above.company Cos è Javascript? JavaScript è un linguaggio di programmazione interpretato. Utilizzato
DettagliReti Logiche Combinatorie
Testo di riferimento: [Congiu] - 2.4 (pagg. 37 57) Reti Logiche Combinatorie 00.b Analisi Minimizzazione booleana Sintesi Rete logica combinatoria: definizione 2 Una rete logica combinatoria èuna rete
DettagliIl sistema C è formato dal linguaggio C, dal preprocessore, dal compilatore, dalle librerie e da altri strumenti di supporto.
Sistema C e organizzazione del codice Il sistema C è formato dal linguaggio C, dal preprocessore, dal compilatore, dalle librerie e da altri strumenti di supporto. Un programma C è costituito da un insieme
DettagliFile binari e file di testo
I file File binari e file di testo distinzione tra file binari file di testo si possono usare funzioni diverse per la gestione di tipi di file diversi Programmazione Gestione dei file 2 File binari e file
DettagliLaboratorio di Python
, Input da tastiera, Iterazione incondizionata 7 marzo 2014 Sommario 1 2 3 Outline 1 2 3 Definizione di funzione import modulo Si importa il modulo specificato def nome_f(par 1,, par n ) : Si definiscono
DettagliDefinizione di file. Directory e file File binari e file di testo
I/O Avanzato e File Definizione di file Directory e file File binari e file di testo 5 Definizione di file Directory e file Tutti i sistemi operativi permettono di organizzare le informazioni su hard disk
DettagliGRAMMATICHE DEI LINGUAGGI DI PROGRAMMAZIONE. Cosimo Laneve
GRAMMATICHE DEI LINGUAGGI DI PROGRAMMAZIONE Cosimo Laneve 1 argomenti 1. linguaggi di programmazione 2. definizione formale di insiemi infiniti 3. la grammatica e la notazione BNF 4. notazioni alternative
DettagliLaboratorio Progettazione Web Il linguaggio PHP Lezione 6. Andrea Marchetti IIT-CNR 2011/2012
Laboratorio Progettazione Web Il linguaggio PHP Lezione 6 Andrea Marchetti IIT-CNR andrea.marchetti@iit.cnr.ita 2011/2012 Assegnamento L assegnamento ad una variabile è il classico variabile = valore;
DettagliVBA è un linguaggio di scripting derivato da Visual Basic, da cui prende il nome. Come ogni linguaggio ha le sue regole.
Excel VBA VBA Visual Basic for Application VBA è un linguaggio di scripting derivato da Visual Basic, da cui prende il nome. Come ogni linguaggio ha le sue regole. 2 Prima di iniziare. Che cos è una variabile?
DettagliScilab. Introduzione a Scilab - Vettori. Corso di Informatica CdL: Chimica. Claudia d'amato.
Scilab Corso di Informatica CdL: Chimica Introduzione a Scilab - Vettori Claudia d'amato claudia.damato@di.uniba.it Scilab Introduzione Ambiente matematico e di simulazione numerica sviluppato per la realizzazione
DettagliFoglio Elettronico Lezione 1
- Introduzione - Celle e riferimenti - Formule - Approfondimenti - Funzioni logiche Sommario Introduzione - Foglio elettronico o foglio di calcolo - Cos'è? Strumento per raccogliere dati organizzati in
Dettagli9 - Array. Programmazione e analisi di dati Modulo A: Programmazione in Java. Paolo Milazzo
9 - Array Programmazione e analisi di dati Modulo A: Programmazione in Java Paolo Milazzo Dipartimento di Informatica, Università di Pisa http://www.di.unipi.it/ milazzo milazzo di.unipi.it Corso di Laurea
DettagliProgrammazione in Java (I modulo)
Programmazione in Java (I modulo) Lezione 4 Variabili di tipo primitivo. Dichiarazione di costanti Conversioni di tipo: operatore cast Altri operatori di assegnamento Operazioni aritmetiche e di confronto
DettagliManuale SQL. Manuale SQL - 1 -
Manuale SQL - 1 - Istruzioni DDL Creazione di una tabella : CREATE TABLE Il comando CREATE TABLE consente di definire una tabella del database specificandone le colonne, con il tipo di dati ad esse associate,
DettagliLaboratorio 1. 2) All interno della directory c:\temp\cognome\codici creare il file sorgente hello.c contenente il seguente codice:
Corso di Ingegneria Biomedica Corso di Ingegneria Elettronica Insegnamento di Informatica I a.a. 2007-08 Laboratorio 1 Durante le esercitazioni verra utilizzato il compilatore a riga di comando DJGPP,,
DettagliTipi di dato primitivi
Tipi di dato primitivi (oltre int) Tipi di dato primitivi int (già trattati) Valori logici (ricordati) Valori reali Valori carattere Informatica - A.A. 2009/2010 - Tipi di dato 2 1 Valori logici (il caso
DettagliScritto da Martedì 12 Luglio :14 - Ultimo aggiornamento Venerdì 15 Luglio :47
In questo articolo mostreremo come è possibile eseguire un programma esterno o uno script usando il linguaggio PHP. Le funzioni che si occupano di eseguire dei comandi sono quattro: - shell_exec() - exec()
DettagliEsercitazione 2 GUIDA
Corso di Laurea in Biologia Molecolare, Università di Padova Insegnamento di Informatica e Bioinformatica Esercitazione 2 Padova, 13 aprile 2016 GUIDA Uso della shell Unix Obbiettivo dell'esercitazione
DettagliPython Parte 1: Caratteristiche di base
Python Parte 1: Caratteristiche di base Parte del ciclo di seminari su Programmazione Orientata agli Oggetti e Scripting in Python a cura di: Giancarlo Cherchi Introduzione Un programma Python è composto
DettagliEssendo una sequenza, condivide le operazioni su sequenza viste per le stringhe
Liste Descrizione Una lista è una sequenza di oggetti qualunque (anche di tipo diverso, anche altre liste) = ["abc", 2, [1,2]] Essendo una sequenza, condivide le operazioni su sequenza viste per le stringhe
DettagliMenù principale di Calc
Menù principale di Calc Status bar Informazioni generali! All'apertura si visualizza una cartella il cui nome è mostrato nella title bar;! Una cartella contiene più fogli di lavoro. Ci si può spostare
DettagliProgrammazione di base
Fondamenti di Informatica Testo A Secondo Appello 016-17 febbraio 017 Rispondi alle domande negli appositi spazi. I punti assegnati per ogni domanda sono indicati nel riquadro a lato. L'esame contiene
DettagliExcel 1. Informatica per le applicazioni economiche A.A. 2011/2012. Prof.ssa Bice Cavallo
Excel 1 Informatica per le applicazioni economiche A.A. 2011/2012 Prof.ssa Bice Cavallo Argomenti della lezione Formule Uso dei riferimenti Funzioni Funzioni condizionali e di ricerca Argomenti della lezione
DettagliSTRINGHE IN JAVA In Java, le stringhe non sono pezzi di memo-ria con dentro dei caratteri, come in C: sono oggetti appartenenti alla classe
STRINGHE IN JAVA In Java, le stringhe non sono pezzi di memo-ria con dentro dei caratteri, come in C: sono oggetti appartenenti alla classe String Una stringa Java rappresenta uno specifico valore e come
DettagliEspressività e limitazioni delle grammatiche regolari
Espressività e limitazioni delle grammatiche regolari Vantaggi: Le grammatiche regolari consentono di esprimere una significativa classe di linguaggi: linguaggi con un numero di sequenze infinito grazie
DettagliMODULO 5 - USO DELLE BASI DI DATI 2 FINALITÁ
PATENTE EUROPEA DEL COMPUTER 5.0 MODULO 5 Database (Microsoft Access 2007) Parte 3 A cura di Mimmo Corrado Gennaio 2012 MODULO 5 - USO DELLE BASI DI DATI 2 FINALITÁ Il Modulo 5, richiede che il candidato
DettagliSCHEMI DI MATEMATICA
SCHEMI DI MATEMATICA SCHEMA 1: somme algebriche tra numeri ( ci sono sia somme che sottrazioni) Obiettivo dello schema1: saper risolvere espressioni come : -3-6 Metodo: se il segno dei due numeri è uguale
DettagliLa codifica dei numeri
La codifica dei numeri La rappresentazione dei numeri con il sistema decimale può essere utilizzata come spunto per definire un metodo di codifica dei numeri all interno degli elaboratori: la sequenza
DettagliIntroduzione alle stringhe e algoritmi collegati
Introduzione alle stringhe e algoritmi collegati Algoritmicamente August 15, 2009 1 Introduzione 1.1 Introduzione ai caratteri In informatica o più generalmente in una terminologia scientifica, il carattere
DettagliLaboratorio di Algoritmi e Strutture Dati
Laboratorio di Algoritmi e Strutture Dati Docente: Camillo Fiorentini 16 ottobre 2007 1 Rappresentazioni di caratteri in C In C un carattere è una costante intera il cui valore è dato dal codice ASCII
DettagliOggetto software. stati o proprietà (variabili) comportamenti o metodi (funzioni)
Le classi Oggetto software stati o proprietà (variabili) comportamenti o metodi (funzioni) Bicicletta cambia rapporto 24 kmh rallenta accelera 90 ped/min quinto rapporto istanze e membri di classe Nel
DettagliManipolazione di testo
Lesson #5 Manipolazione di testo Roberto De Virgilio Sistemi operativi - 2 Dicembre 2015 Comandi filtro: sed Il nome del comando sed sta per Stream EDitor e la sua funzione è quella di permettere di editare
DettagliOperatori di confronto:
Operatori di confronto: confrontano tra loro due numeri e come risultato danno come risposta o operatore si legge esempio risposta = uguale a diverso da > maggiore di < minore di maggiore o uguale a minore
DettagliEsercizi Scratch: Sensori
Esercizi Scratch: Sensori Animazione usando i blocchi sensori I blocchi sensori consentono di ottenere informazioni dallo stato degli oggetti che fanno parte dell'applicazione. Lo stato dell'applicazione
DettagliExcel Base- Lezione 3. Barbara Pocobelli Estav Nord Ovest. Il comando Trova
Excel Base- Lezione 3 Il comando Trova 1. Fare clic su Modifica nella Barra dei menu. 2. Fare clic su Trova. Appare una finestra con una casella in cui digitare il valore da ricercare. Viene digitato il
DettagliSTRUTTURE DI CONTROLLO DEL C++
STRUTTURE DI CONTROLLO DEL C++ Le istruzioni if e else Le istruzioni condizionali ci consentono di far eseguire in modo selettivo una singola riga di codice o una serie di righe di codice (che viene detto
DettagliUnità Didattica 1 Linguaggio C. Fondamenti. Struttura di un programma.
Unità Didattica 1 Linguaggio C Fondamenti. Struttura di un programma. 1 La storia del Linguaggio C UNIX (1969) - DEC PDP-7 Assembly Language BCPL - un OS facilmente accessibile che fornisce potenti strumenti
DettagliInput/Output. Console e File.
Input/Output Console e File http://www.dia.uniroma3.it/~roselli/ roselli@dia.uniroma3.it Credits Materiale a cura del Prof. Franco Milicchio Introduzione Le istruzioni di stampa servono a rendere visibili
DettagliProgrammazione è gestione di eventi
FUNZIONI Ed Eventi Programmazione è gestione di eventi Evento 1 (tasto premuto) Evento 2 (mouse) Evento 3 (cambio frame) Oggetto Evento 4 (fine di un brano audio) Azioni per evento 1 1. Azione 1 2. Azione
Dettagli