Argomento precedente: Carattere jollyArgomento successivo: Ripetizioni non-greedy


Ripetizioni

Una ripetizione è un'espressione ripetuta un numero di volte arbitrario. Un'espressione seguita da * può essere ripetuta un numero indefinito di volte incluso zero volte. Un'espressione seguita da + può essere ripetuta un numero indefinito di volte, ma almeno una volta. Se l'espressione viene compilata con il contrassegno regbase::bk_plus_qm, + è un normale carattere, mentre \+ rappresenta una ripetizione per una o più volte. Un'espressione seguita da ? può essere ripetuta da zero o una sola volta. Se l'espressione viene compilata con il contrassegno regbase:: bk_e_qm, quindi ? è un normale carattere e \? rappresenta l'operatore di ripetizione da zero o una volta. Quando è necessario specificare in maniera esplicita il numero minimo e massimo di ripetizioni, può essere utilizzato l'operatore di limiti {}. Pertanto "a{2}" indica la lettera "a" ripetuta esattamente due volte, "a{2,4}" indica la lettera "a" ripetuta tra 2 e 4 volte e "a{2,}" rappresenta la lettera "a" ripetuta almeno due volte senza alcun limite superiore.

Nota: all'interno di {} non devono essere presenti spazi vuoti e non deve esserci alcun limite superiore per i valori dei limiti inferiori e superiori.

Quando l'espressione viene compilata con il contrassegno regbase::bk_braces, { e } sono caratteri normali, mentre \{ e \} vengono utilizzati per delimitare i limiti. Tutte le espressioni di ripetizione si riferiscono alla sottoespressione precedente più corta: un singolo carattere, un set di caratteri, o una sottoespressione raggruppata ad esempio con ().

Esempi: