⊗pyPmRENPB 71 of 129 menu

Paréntesis que no capturan en expresiones regulares de Python

Los paréntesis ( ) realizan dos funciones: agrupar caracteres y la función de grupo de captura. ¿Y qué hacer si necesitas agrupar, pero no quieres guardar en un grupo de captura? Para resolver este problema se crearon los paréntesis que no capturan (?: ) - agrupan, pero no guardan en un grupo de captura.

Ejemplo

En el siguiente ejemplo, los primeros paréntesis los necesitamos para agrupar, y los segundos - para el grupo de captura. Sin embargo, ambos tipos de paréntesis guardan datos en un grupo de captura:

txt = 'abab123' res = re.search('(ab)+([1-9]+)', txt)

Como resultado, en nuestros grupos de captura habrá lo siguiente:

print(res[0]) # mostrará 'abab123' print(res[1]) # mostrará 'ab' print(res[2]) # mostrará '123'

Ejemplo

Hagamos que el primer par de paréntesis solo agrupe, pero no guarde en un grupo de captura:

txt = 'abab123' res = re.search('(?:ab)+([1-9]+)', txt)

Como resultado, en el primer grupo de captura estará nuestro número:

print(res[1]) # mostrará '123'
Español
AfrikaansAzərbaycanБългарскиবাংলাБеларускаяČeštinaDanskDeutschΕλληνικάEnglishEestiSuomiFrançaisहिन्दीMagyarՀայերենIndonesiaItaliano日本語ქართულიҚазақ한국어КыргызчаLietuviųLatviešuМакедонскиMelayuမြန်မာNederlandsNorskPolskiPortuguêsRomânăРусскийසිංහලSlovenčinaSlovenščinaShqipСрпскиSrpskiSvenskaKiswahiliТоҷикӣไทยTürkmenTürkçeЎзбекOʻzbekTiếng Việt
Usamos cookies para el funcionamiento del sitio, análisis y personalización. El procesamiento de datos se realiza de acuerdo con la Política de privacidad.
aceptar todas configurar rechazar