You are on page 1of 5

Linguaggiedespressioniregolari

DaWikiversità,l'apprendimentolibero.

Inquestalezioneanalizzeremolafamigliadelleespressioniregolari(iningleseregularexpressiono,informa

abbreviata,regexp,regexoRE)dicuisiinvitaaleggerecomeintroduzionelarelativapaginadiWikipedia.

Indice

1 Definizione

1 Definizione

1.1 Definizionedilinguaggioregolare

1.1

Definizionedilinguaggioregolare

2 DerivareillinguaggiodallaRE

2 DerivareillinguaggiodallaRE

2.1 Sottoespressione

2.1 Sottoespressione

2.2 Versionenumerata

2.2 Versionenumerata

2.3 Sceltaederivazione 2.3.1 Esempi

2.3 Sceltaederivazione 2.3.1 Esempi

2.3 Sceltaederivazione 2.3.1 Esempi
2.4 LinguaggiodefinitodaunRE

2.4 LinguaggiodefinitodaunRE

3 AmbiguitàdelleRE

3 AmbiguitàdelleRE

4 Proprietàdichiusura

4 Proprietàdichiusura

5 Linkeriferimenti

5 Linkeriferimenti

6 Altriprogetti

6 Altriprogetti

Definizione

Formalmentedefiniamoespressioneregolareunastringa costruitasuunalfabeto unioneaiseguentimetasimboli:

costruitasuunalfabeto unioneaiseguentimetasimboli: :insiemevuoto :unione(notazionealternativa: :concatenazione

:insiemevuoto

:unione(notazionealternativa:

:concatenazione:insiemevuoto :unione(notazionealternativa: :star :parentesi ) ein UnaREèdetta benformata

:star :parentesi
:star
:parentesi

)

:concatenazione :star :parentesi ) ein UnaREèdetta benformata

ein

UnaREèdettabenformatasesipresentainunadelleseguentiforme:

o o
o
o

(notazionealternativa)

dove e sonoalorovoltaespressioniregolari.Sinotichelaprecedenzadeglioperatoriè:

Definiamoinoltrealtrioperatorinonessenzialimafrequentementeusati,utilizzandosololeproprietàsopra

descritte:

Definiamoinoltrealtrioperatorinonessenzialimafrequentementeusati,utilizzandosololeproprietàsopra descritte:
(potenza) con (ripetizione)
(potenza)
con
(ripetizione)

(intervalliordinati)

Altrioperatoripossonoesserequelliinsiemisticiteorici:intersezione,differenzaecomplemento.Una

espressioneregolarechecontienequestioperatorièdettaespressioneregolareestesa.Nota:Ilpotere

espressivodiunaREestesanonèmaggiorediquellodiunaREstandard.

Definizionedilinguaggioregolare

DiciamocheunlinguaggioèunlinguaggioregolareseèdenotatodaunaRE.Formalmente,unlinguaggio

seèdenotatodaunaRE.Formalmente,unlinguaggio regolare èunlinguaggiosuunalfabeto

regolare èunlinguaggiosuunalfabeto chehaunacorrispondenteREinaccordoconlaseguentetabella:

Espressione

Linguaggio

Espressione Linguaggio
Espressione Linguaggio
Espressione Linguaggio
Espressione Linguaggio
Espressione Linguaggio
Espressione Linguaggio
Espressione Linguaggio
Espressione Linguaggio
Espressione Linguaggio
Espressione Linguaggio

Denotiamocon

(cioèconcardinalitàfinita).

Linguaggio Denotiamocon (cioèconcardinalitàfinita). lafamigliadituttilinguaggiregolariecon

lafamigliadituttilinguaggiregolariecon

lafamigliadituttiilinguaggifiniti

Allorapossiamodireche:

lafamigliadituttiilinguaggifiniti Allorapossiamodireche:

(intuibile:unlinguaggiofinitopuòsempreesserevistocomel'unionediunnumerofinitodistringhe,ognuna

dellequaliconcatenazionediunnumerofinitodisimbolidell'alfabeto)

DerivareillinguaggiodallaRE

Perderivareillinguaggiodobbiamodefinirealcuniconcettisupplementari.

Sottoespressione

Definiamosottoespressione(ininglesesubexpressionoSE)unabenparentizzatasottostringadiunaREchesi

presentanelleparentesipiùesterne.

Chiariamoconunesempio.SiadatalaRE:

Chiariamoconunesempio.SiadatalaRE: questaREhadueSE: e . Versionenumerata ,mentre e NONsonoSEdi

questaREhadueSE: e

.

Versionenumerata

Chiariamoconunesempio.SiadatalaRE: questaREhadueSE: e . Versionenumerata ,mentre e NONsonoSEdi ,masonoSEdi

,mentre e

Chiariamoconunesempio.SiadatalaRE: questaREhadueSE: e . Versionenumerata ,mentre e NONsonoSEdi ,masonoSEdi

NONsonoSEdi ,masonoSEdi

Chiariamoconunesempio.SiadatalaRE: questaREhadueSE: e . Versionenumerata ,mentre e NONsonoSEdi ,masonoSEdi

Definiamo'versionenumeratadiunaRE,laREacuivengonoaggiuntiinumerialleletterechecompongonola

RE,inmododadifferenzialelelettereuguali.Anchequichiariamoilconcettoconunesempio:

lasuaversionenumerataè:

lasuaversionenumerataè:

lasuaversionenumerataè:

Questanotazioneèimportanteperdefinirel'ambiguitàdiunlinguaggio(introdottanellesezionisuccessive).

Sceltaederivazione

DiciamocheunaREèunascelta(ininglesechoice)diun'altraREneiseguenticasi:

èunasceltadi
èunasceltadi

èunasceltadi èunasceltadi e

èunasceltadi èunasceltadi èunasceltadi e DiciamocheunaSE deriva da (scrittocome se: èunasceltadi ;

DiciamocheunaSE derivada

èunasceltadi èunasceltadi e DiciamocheunaSE deriva da (scrittocome se: èunasceltadi ; oppure, èunasceltadi

(scrittocome

se:èunasceltadi e DiciamocheunaSE deriva da (scrittocome èunasceltadi ; oppure, èunasceltadi perogni

èunasceltadi e DiciamocheunaSE deriva da (scrittocome se: èunasceltadi ; oppure, èunasceltadi perogni
èunasceltadi e DiciamocheunaSE deriva da (scrittocome se: èunasceltadi ; oppure, èunasceltadi perogni

èunasceltadi ;

oppure,DiciamocheunaSE deriva da (scrittocome se: èunasceltadi ; èunasceltadi perogni

deriva da (scrittocome se: èunasceltadi ; oppure, èunasceltadi perogni
deriva da (scrittocome se: èunasceltadi ; oppure, èunasceltadi perogni

èunasceltadi perogni

se: èunasceltadi ; oppure, èunasceltadi perogni

Laderivazionepuòavvenirepiùvolteallostessomodo.Inquestocasoscriviamo:

se , , , se , , , se , , ,
se
,
,
,
se
,
,
,
se
,
,
,
se , , , se , , , se , , , con fisato con con
se , , , se , , , se , , , con fisato con con
se , , , se , , , se , , , con fisato con con
con fisato con con
con fisato
con
con

Esempi

, , se , , , se , , , con fisato con con Esempi oequivalentemente
, , se , , , se , , , con fisato con con Esempi oequivalentemente

oequivalentemente

, se , , , con fisato con con Esempi oequivalentemente oancora oequivalentemente oancora LinguaggiodefinitodaunRE

oancora

, , con fisato con con Esempi oequivalentemente oancora oequivalentemente oancora LinguaggiodefinitodaunRE Il
, , con fisato con con Esempi oequivalentemente oancora oequivalentemente oancora LinguaggiodefinitodaunRE Il

oequivalentemente

oancoracon con Esempi oequivalentemente oancora oequivalentemente LinguaggiodefinitodaunRE Il

Esempi oequivalentemente oancora oequivalentemente oancora LinguaggiodefinitodaunRE Il

LinguaggiodefinitodaunRE

Illinguaggiodefinitodaunaespressioneregolare è:

Il linguaggiodefinitodaunaespressioneregolare è: DiciamochedueREsono equivalenti

DiciamochedueREsonoequivalentisedefinisconolostessolinguaggio.

AmbiguitàdelleRE

UnastringadiunlinguaggioregolarepuòesserederivatodallaREinmodidifferenti,cioèattraversodistinte

derivazioni.DiciamocheunaREèambiguaseesisteunastringaderivabileattrversoduedistintederivazioni

chenondifferisconosolodall'ordinediapplicazione.

Esempio:

. Esempio: Ambigua,duemodididerivazionedi : Condizione sufficiente

Ambigua,duemodididerivazionedi :

. Esempio: Ambigua,duemodididerivazionedi : Condizione sufficiente

CondizionesufficienteaffinchèunaREsiaambigua,seillinguaggiogeneratodallaREinversionenumerata

includeduestringhechecoincidonoamenodeinumeri.

Esempio:

Genera: 1.
Genera:
1.

2.

3.

4.

5.

6.

7.

8

Esempio: Genera: 1. 2. 3. 4. 5. 6. 7. 8

Comesivedeeliminandoinumeri,lastringa2coincideconlastringa7,perciòlaREèambigua.

Proprietàdichiusura

«Uninsiemeèchiusorispettoaun'operazioneseesoloseogniinsiemeottenutoapplicando

l'operazioneaimembridell'insiemeoriginale,l'insiemeottenutoècontenutonell'insiemeoriginario»

èchiusorispettoallaconcatenazione,unioneestar(quindiancheperglialtrioperatorisopradescritti).

Linkeriferimenti

Altriprogetti

Altriprogetti Wikibooks contienetestiomanualisulle espressioniregolari

Wikibooks contienetestiomanualisulle espressioniregolari Wikibookscontienetestiomanualisulleespressioniregolari

Wikipediacontieneinformazionisulleespressioniregolari

t)

Questapaginaèstatamodificataperl'ultimavoltail24mag2017alle14:42.

possonoapplicarsicondizioniulteriori.Vedilecondizionid'usoperidettagli.Wikiversità®èunmarchio

registratodellaWikimediaFoundation,Inc.