online ejemplos python regex object match capture-group

python - ejemplos - re search



¿Por qué no re.groups() me dará algo para mi único grupo de concordancia correcta? (4)

Cuando ejecuto este código:

print re.search(r''1'', ''1'').groups()

Obtengo un resultado de () . Sin embargo, .group(0) me da la coincidencia.

¿No deberían los groups() darme algo que contenga el partido?

Actualización: gracias por las respuestas. Entonces, ¿eso significa que si hago re.search() sin subgrupos, tengo que usar groups(0) para obtener una coincidencia?


A mi leal saber y entender, .groups() devuelve una tupla de grupos recordados . Es decir, esos grupos en la expresión regular que están encerrados entre paréntesis. Entonces, si escribieras:

print re.search(r''(1)'', ''1'').groups()

obtendrías

(''1'',)

como tu respuesta. En general, .groups() devolverá una tupla de todos los grupos de objetos en la expresión regular que están encerrados entre paréntesis.



No tiene grupos en su expresión regular, por lo tanto, obtiene una lista vacía ( () ) como resultado.

Tratar

re.search(r''(1)'', ''1'').groups()

Con los corchetes que está creando un grupo de captura, el resultado que coincide con esta parte del patrón, se almacena en un grupo.

Entonces obtienes

(''1'',)

como resultado.