⊗pyPmRENPB 71 of 129 menu

Parênteses não capturadores em expressões regulares do Python

Os parênteses ( ) desempenham duas funções - agrupamento de caracteres e a função de grupo de captura (capturing group). E o que fazer se você precisar agrupar, mas não capturar? Para resolver esse problema, foram criados os parênteses não capturadores (?: ) - eles agrupam, mas não capturam em um grupo.

Exemplo

No exemplo a seguir, os primeiros parênteses são necessários para agrupamento, e os segundos - para um grupo de captura. No entanto, ambos os tipos de parênteses salvam dados em um grupo:

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

Como resultado, nossos grupos de captura conterão o seguinte:

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

Exemplo

Vamos fazer com que o primeiro par de parênteses apenas agrupe, mas não capture em um grupo:

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

Como resultado, nosso número estará no primeiro grupo de captura:

print(res[1]) # exibirá '123'
Português
AfrikaansAzərbaycanБългарскиবাংলাБеларускаяČeštinaDanskDeutschΕλληνικάEnglishEspañolEestiSuomiFrançaisहिन्दीMagyarՀայերենIndonesiaItaliano日本語ქართულიҚазақ한국어КыргызчаLietuviųLatviešuМакедонскиMelayuမြန်မာNederlandsNorskPolskiRomânăРусскийසිංහලSlovenčinaSlovenščinaShqipСрпскиSrpskiSvenskaKiswahiliТоҷикӣไทยTürkmenTürkçeЎзбекOʻzbekTiếng Việt
Nós usamos cookies para o funcionamento do site, análises e personalização. O processamento de dados é realizado de acordo com a Política de Privacidade.
aceitar todas configurar rejeitar