Tip:
Highlight text to annotate it
X
Abbiamo trattato espressioni regolari a carattere singolo,
vediamo ora di unirle.
Bisognerà trovare bit importanti di punteggiatura come barre trasversali, maggiore di
o "==" per ragionare con Javascript e e HTML, e poter creare il nostro browser.
Quindi ci serve l'abilità di concatenare o avvicinare e ripetere
i caratteri nelle espressioni regolari.
Bene, con le espressioni regolari è semplice, basta scrivere
due espressioni regolari una vicina all'altra.
Questa corrisponde con 'a1', 'a2', 'b2', 'c1' e 'c2' -- sei stringhe.
In ognuna, il primo carattere corrisponde alla prima espressione regolare,
e il secondo, '1' o '2', corrisponde alla seconda parte dell'espressione.
Abbiamo concatenato 'a' e 'c' con '1' e '2' per utilizzare stringhe più complesse.
Avrete notato che il numero di stringhe è notevole
considerata l'esiguità dell'espressione.
Infatti, se abbiamo [da 0 a 9] vicino ad un altro [da 0 a 9],
ci saranno già 100 stringhe in totale che corrisponderanno con l'espressione.
Questa corrisponde con 10 stringhe, questa con altre 10. Quando le mettete insieme
corrisponderanno 10 al quadrato stringhe.
Quindi, cerchiamo un numero a DUE cifre in 'July 28, 1921'.
Eccolo un numero a due cifre, un altro, e un altro ancora.
Finiremo per avere 28, 18 e 21 come risultato.
Adesso cerco un numero di due cifre in '12345' -- '12' è un numero a due cifre,
'34' è un numero con due cifre, ma non '5'.
Questa espressione regolare richiede che ENTRAMBE le sue parti trovino corrispondenza nella stringa.
'July 28, 1821' è un bel giorno a causa della indipendenza del Perù.
Mettiamo tutto insieme per utilizzare queste espressioni regolari.
Ho scritto qui un frammento in Python,
un programma in Python che chiama in causa il metodo "re.findall"
Stiamo cercando [da A a Z] e poi [da 0 a 9] in questa stringa scritta ad hoc,
creata per essere funzionale -- 'a1' spazio '2b' spazio 'cc3' spazio '44d'.
Scriverò qui un po' di possibili risposte, e vorrei che mi diceste --
Segnate quelle che saranno tra i risultati di questa espressione.
Ho scritto nove possibili risultati.
Conmtrollate se ognuno è elemento della lista dei risultati generati da questa espressione in Python.