Grupos de captura en el método search de Python
A menudo, al buscar una coincidencia, es conveniente descomponer la subcadena en los llamados grupos de captura. Estos representan una forma de dividir lo encontrado en partes separadas. Para su uso, se debe encerrar parte de la expresión regular entre paréntesis.
Probemos en la práctica. Supongamos que tenemos la siguiente cadena:
txt = '123 456'
Descompongamos las subcadenas con números en grupos de captura. Para ello, escribamos la siguiente expresión regular:
res = re.search('(\d+) (\d+)', txt)
Como resultado, obtendremos un objeto match. En
su elemento con índice 1
estará el primer grupo de captura, en el elemento con índice
2 - el segundo grupo de captura, y en el elemento con
índice 0 - todo lo encontrado (el llamado
grupo de captura cero):
print(res[0]) # '123 456' - lo encontrado
print(res[1]) # '123' - 1er grupo de captura
print(res[2]) # '456' - 2do grupo de captura
Se da una cadena que contiene un dominio:
txt = 'sss domain.ru zzz'
Encuentre este dominio y coloque su nombre en el primer grupo de captura, y la zona - en el segundo.
Se da una cadena que contiene una fecha:
txt = '31.12.2025'
Coloque el día en el primer grupo de captura, el mes - en el segundo, y el año - en el tercero.