Costrutti di alternanza
Aggiornamento: novembre 2007
Nella tabella seguente sono elencati i caratteri speciali che modificano un'espressione regolare per consentire corrispondenze di tipo o/o.
Costrutto di alternanza |
Definizione |
---|---|
| |
Corrisponde a uno qualsiasi dei termini separati dal carattere | (barra verticale), ad esempio cat|dog|tiger. La corrispondenza più a sinistra prevale. |
(?(expression)yes|no) |
Corrisponde alla parte "yes" se l'espressione corrisponde in questo punto, altrimenti corrisponde alla parte "no". È possibile omettere la parte "no". L'espressione può essere una qualsiasi sottoespressione valida, ma viene trasformata in un'asserzione a larghezza zero, pertanto la sintassi è equivalente a (?(?=expression)yes|no). Si noti che se l'espressione è il nome di un gruppo denominato o il numero di un gruppo di acquisizione, il costrutto di alternanza viene interpretato come un test di acquisizione (descritto nella riga successiva di questa tabella). Per evitare confusione in questi casi, è possibile specificare in modo esplicito la parte (?=expression) interna. |
(?(name)yes|no) |
Corrisponde alla parte "yes" se la stringa di acquisizione denominata ha una corrispondenza, altrimenti corrisponde alla parte "no". È possibile omettere la parte "no". Se il nome indicato non corrisponde al nome o al numero di un gruppo di acquisizione utilizzato nell'espressione, il costrutto di alternanza viene interpretato come un test di acquisizione (descritto nella riga precedente di questa tabella). |