Condividi tramite


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).

Vedere anche

Altre risorse

Elementi del linguaggio di espressioni regolari