C # - Constructions de regroupement
Les constructions de regroupement délimitent les sous-expressions d'une expression régulière et capturent les sous-chaînes d'une chaîne d'entrée. Le tableau suivant répertorie les constructions de regroupement -
Construction de regroupement | La description | Modèle | Allumettes |
---|---|---|---|
( subexpression ) | Capture la sous-expression correspondante et lui attribue un nombre ordinal de base zéro. | (\ w) \ 1 | "ee" dans "deep" |
(?< name >subexpression) | Capture la sous-expression correspondante dans un groupe nommé. | (? <double> \ w) \ k <double> | "ee" dans "deep" |
(?< name1 -name2 >subexpression) | Définit une définition de groupe d'équilibrage. | (((? 'Ouvrir' \ () [^ \ (\)] *) + ((? 'Fermer-Ouvrir' \)) [^ \ (\)] *) +) * (? (Ouvrir) (? !)) $ | "((1-3) * (3-1))" dans "3 + 2 ^ ((1-3) * (3-1))" |
(?: subexpression) | Définit un groupe non capturant. | Ecrire (?: Ligne)? | "WriteLine" dans "Console.WriteLine ()" |
(?imnsx-imnsx:subexpression) | Applique ou désactive les options spécifiées dans la sous-expression . | A \ d {2} (? I: \ w +) \ b | "A12xl", "A12XL" dans "A12xl A12XL a12xl" |
(?= subexpression) | Assertion d'anticipation positive de largeur nulle. | \ w + (? = \.) | "est", "a couru" et "dehors" dans "Il est. Le chien a couru. Le soleil est dehors." |
(?! subexpression) | Assertion d'anticipation négative de largeur nulle. | \ b (?! un) \ w + \ b | "sûr", "utilisé" dans "pas sûr que l'unité est utilisée" |
(?< =subexpression) | Assertion de regard positif de largeur nulle. | (? <= 19) \ d {2} \ b | "99", "50", "05" dans "1851 1999 1950 1905 2003" |
(?< ! subexpression) | Assertion de regard négatif de largeur nulle. | (? <! 19) \ d {2} \ b | "51", "03" dans "1851 1999 1950 1905 2003" |
(?> subexpression) | Sous-expression sans retour en arrière (ou "gourmande"). | [13579] (?> A + B +) | "1ABB", "3ABB" et "5AB" dans "1ABB 3ABBC 5AB 5AC" |