C # - Costrutti di raggruppamento
I costrutti di raggruppamento delineano sottoespressioni di un'espressione regolare e acquisiscono sottostringhe di una stringa di input. La tabella seguente elenca i costrutti di raggruppamento:
Costrutto di raggruppamento | Descrizione | Modello | Partite |
---|---|---|---|
( subexpression ) | Cattura la sottoespressione corrispondente e le assegna un numero ordinale in base zero. | (\ w) \ 1 | "ee" in "deep" |
(?< name >subexpression) | Cattura la sottoespressione corrispondente in un gruppo denominato. | (? <doppio> \ w) \ k <doppio> | "ee" in "deep" |
(?< name1 -name2 >subexpression) | Definisce una definizione di gruppo di bilanciamento. | (((? 'Apri' \ () [^ \ (\)] *) + ((? 'Chiudi-Apri' \)) [^ \ (\)] *) +) * (? (Apri) (? !)) $ | "((1-3) * (3-1))" in "3 + 2 ^ ((1-3) * (3-1))" |
(?: subexpression) | Definisce un gruppo non di acquisizione. | Linea di scrittura)? | "WriteLine" in "Console.WriteLine ()" |
(?imnsx-imnsx:subexpression) | Applica o disabilita le opzioni specificate nella sottoespressione . | A \ d {2} (? I: \ w +) \ b | "A12xl", "A12XL" in "A12xl A12XL a12xl" |
(?= subexpression) | Asserzione lookahead positiva a larghezza zero. | \ w + (? = \.) | "è", "corre" e "fuori" in "Lui è. Il cane correva. Il sole è fuori". |
(?! subexpression) | Asserzione lookahead negativa a larghezza zero. | \ b (?! un) \ w + \ b | "sicuro", "usato" in "unità insicuro usata" |
(?< =subexpression) | Asserzione lookbehind positiva a larghezza zero. | (? <= 19) \ d {2} \ b | "99", "50", "05" in "1851 1999 1950 1905 2003" |
(?< ! subexpression) | Asserzione lookbehind negativa di larghezza zero. | (? <! 19) \ d {2} \ b | "51", "03" in "1851 1999 1950 1905 2003" |
(?> subexpression) | Sottoespressione non backtracking (o "avida"). | [13579] (?> A + B +) | "1ABB", "3ABB" e "5AB" in "1ABB 3ABBC 5AB 5AC" |