C # - Agrupamento de construções
As construções de agrupamento delineiam subexpressões de uma expressão regular e capturam substrings de uma string de entrada. A tabela a seguir lista as construções de agrupamento -
| Construção de agrupamento | Descrição | padronizar | Fósforos |
|---|---|---|---|
| ( subexpression ) | Captura a subexpressão correspondida e atribui a ela um número ordinal baseado em zero. | (\ w) \ 1 | "ee" em "profundo" |
| (?< name >subexpression) | Captura a subexpressão correspondente em um grupo nomeado. | (? <double> \ w) \ k <double> | "ee" em "profundo" |
| (?< name1 -name2 >subexpression) | Define uma definição de grupo de balanceamento. | (((? 'Abrir' \ () [^ \ (\)] *) + ((? 'Fechar-Abrir' \)) [^ \ (\)] *) +) * (? (Abrir) (? !)) $ | "((1-3) * (3-1))" em "3 + 2 ^ ((1-3) * (3-1))" |
| (?: subexpression) | Define um grupo de não captura. | Escreva (?: Linha)? | "WriteLine" em "Console.WriteLine ()" |
| (?imnsx-imnsx:subexpression) | Aplica ou desativa as opções especificadas na subexpressão . | A \ d {2} (? I: \ w +) \ b | "A12xl", "A12XL" em "A12xl A12XL a12xl" |
| (?= subexpression) | Asserção antecipada positiva de largura zero. | \ w + (? = \.) | "está", "correu" e "fora" em "Ele é. O cachorro correu. O sol apareceu." |
| (?! subexpression) | Asserção antecipada negativa de largura zero. | \ b (?! un) \ w + \ b | "certeza", "usado" em "unidade insegura usada" |
| (?< =subexpression) | Asserção de lookbehind positivo de largura zero. | (? <= 19) \ d {2} \ b | "99", "50", "05" em "1851 1999 1950 1905 2003" |
| (?< ! subexpression) | Asserção de lookbehind negativo de largura zero. | (? <! 19) \ d {2} \ b | "51", "03" em "1851 1999 1950 1905 2003" |
| (?> subexpression) | Subexpressão sem retrocesso (ou "gananciosa"). | [13579] (?> A + B +) | "1ABB", "3ABB" e "5AB" em "1ABB 3ABBC 5AB 5AC" |