Qual a diferença de Match e Grupo

Pessoal estou usando um site chamado regex 101.com e quando faço minhas regex algumas vezes aparece Match e as vezes Grupo 1, Grupo 2 e assim por diante, alguém sabe me dizer qual a diferença ?

Match é basicamente “tudo que a regex pegou”. E grupos são partes do match. Por exemplo, esta regex:

[a-z]([0-9])

[a-z] é "uma letra de a a z" e [0-9] é “um dígito de 0 a 9”.

Mas repare que [0-9] está entre parênteses: isso forma um grupo de captura. E como é o primeiro par de parênteses da expressão, então esse é o grupo 1.

Se eu usar esta regex com o texto “a1-@;$”, o match será “a1”, pois “a1” corresponde a toda a expressão (letra seguida de dígito). Mas no grupo 1 eu terei apenas o dígito “1”, pois na regex apenas o dígito faz parte do grupo.

2 curtidas