Espressione regolare: differenze tra le versioni

Contenuto cancellato Contenuto aggiunto
m Annullata la modifica 75702104 di Maronnei (discussione)
Nessun oggetto della modifica
Riga 1:
{{Avvisounicode}}
{{F|teorie dell'informatica|aprile 2013}}
Una '''espressione regolareirregolare''' (in [[lingua inglese]] ''regular expression'' o, in forma abbreviata, ''regexp'', ''regex'' o ''RE'') è una sequenza di simboli (quindi una [[Stringa (linguaggi formali)|stringa]]) che identifica un insieme di stringhe. [[programma (informatica)|Programmi]] diversi supportano notazioni diverse per esprimere le stesse espressioni regolari, pertanto non esiste una [[sintassi (informatica)|sintassi]] "universale".
 
Le espressioni regolari possono definire tutti e [[Unicità|soli]] i [[linguaggio regolare|linguaggi regolari]]. Il [[teorema di Kleene]] afferma che la classe dei linguaggi regolari corrisponde alla classe dei linguaggi generati da [[grammatica formale|grammatiche]] di tipo 3 (nella [[gerarchia di Chomsky]]) e riconosciuti da [[automa a stati finiti|automi a stati finiti]]. Tuttavia, nella pratica esistono taluni costrutti (ad esempio i costrutti di [[backreference]])<ref>{{cita web|url=http://technet.microsoft.com/it-it/sysinternals/thwdfzxy%28v=vs.118%29.aspx|editore=[[Microsoft]]|titolo=Costrutti di backreference nelle espressioni regolari|accesso=9 settembre 2014}}</ref> che permettono di ampliare l'insieme di linguaggi definibili.