Le parentesi () indicano i costrutti di raggruppamento (o gruppi di caratteri). In particolare, essi sono gruppi di acquisizione in quanto possono essere richiamati con apposita sintassi detta backreference (riferimento all'indietro), consistente in un richiamo numerico a gruppi di caratteri precedentemente acquisiti. Ad esempio:
\b(\w+)\s\1
identifica le ripetizioni di parole, perché \1 è riferito al primo (e in questo caso unico) gruppo definito (\w+). In generale \n è riferito all'n-esimo costrutto di raggruppamento definito.
Le espressioni regolari consentono, inoltre, di effettuare ricerche condizionali:
✓ (?=...) in caso di uguaglianza, testa la porzione successiva di stringa;
✓ (?!...) in caso di disuguaglianza, testa la porzione successiva di stringa;
✓ (?<=...) in caso di uguaglianza, testa la porzione precedente di stringa;
✓ (?<!...) in caso di disuguaglianza, testa la porzione precedente di stringa.
Possono essere utilizzati costrutti di alternanza basati su gruppi e condizioni:
✓ (?(espressione regolare)sì|no) restituisce il valore a sì se il criterio di espressione regolare è verificato, altrimenti restituisce il valore no.
✓ (?(nome)sì|no) restituisce il valore a sì se è identificato un nome o un gruppo di acquisizione, altrimenti restituisce il valore no.