@@ -1437,6 +1437,23 @@ msgid ""
1437
1437
"matching is already enabled by default in Python 3 for Unicode (str) "
1438
1438
"patterns, and it is able to handle different locales/languages."
1439
1439
msgstr ""
1440
+ "Localidades são um recurso da biblioteca C destinado a ajudar na escrita de "
1441
+ "programas que levam em conta as diferenças de idioma. Por exemplo, se você "
1442
+ "estiver processando texto codificado em francês, você gostaria de ser capaz "
1443
+ "de escrever ``\\ w+`` para corresponder a palavras, mas ``\\ w`` corresponde "
1444
+ "apenas à classe de caracteres ``[A-Za-z]`` em padrões de bytes; ele não "
1445
+ "corresponderá a bytes correspondentes a ``é`` ou ``ç``. Se seu sistema "
1446
+ "estiver configurado corretamente e uma localidade francesa for selecionada, "
1447
+ "certas funções C dirão ao programa que o byte correspondente a ``é`` também "
1448
+ "deve ser considerado uma letra. Definir o sinalizador :const:`LOCALE` ao "
1449
+ "compilar uma expressão regular fará com que o objeto compilado resultante "
1450
+ "use essas funções C para ``\\ w``; isso é mais lento, mas também permite que "
1451
+ "``\\ w+`` corresponda a palavras francesas como você esperaria. O uso deste "
1452
+ "sinalizador é desencorajado no Python 3, pois o mecanismo de localidade é "
1453
+ "muito pouco confiável, ele só manipula uma \" cultura\" por vez e só funciona "
1454
+ "com localidades de 8 bits. A correspondência Unicode já está habilitada por "
1455
+ "padrão no Python 3 para padrões Unicode (str), e é capaz de manipular "
1456
+ "diferentes localidades/idiomas."
1440
1457
1441
1458
#: ../../howto/regex.rst:606
1442
1459
msgid ""
@@ -1621,6 +1638,12 @@ msgid ""
1621
1638
"``'Crow'`` or ``'Servo'``, not ``'Cro'``, a ``'w'`` or an ``'S'``, and "
1622
1639
"``'ervo'``."
1623
1640
msgstr ""
1641
+ "Alternância, ou operador \" or\" . Se *A* e *B* são expressões regulares, ``A|"
1642
+ "B`` irá corresponder com qualquer string que corresponder com *A* ou *B*. ``|"
1643
+ "`` tem uma prioridade muito baixa, a fim de fazê-lo funcionar razoavelmente "
1644
+ "quando você está alternando entre strings de vários caracteres. ``Crow|"
1645
+ "Servo`` irá corresponder tanto com ``'Crow'`` quanto com ``'Servo'``, e não "
1646
+ "com ``'Cro'``, ``'w'`` ou ``'S'``, e ``'ervo'``."
1624
1647
1625
1648
#: ../../howto/regex.rst:703
1626
1649
msgid ""
@@ -1661,10 +1684,14 @@ msgid ""
1661
1684
">>> print(re.search('^From', 'Reciting From Memory'))\n"
1662
1685
"None"
1663
1686
msgstr ""
1687
+ ">>> print(re.search('^From', 'From Here to Eternity')) \n"
1688
+ "<re.Match object; span=(0, 4), match='From'>\n"
1689
+ ">>> print(re.search('^From', 'Reciting From Memory'))\n"
1690
+ "None"
1664
1691
1665
1692
#: ../../howto/regex.rst:719
1666
1693
msgid "To match a literal ``'^'``, use ``\\ ^``."
1667
- msgstr ""
1694
+ msgstr "Para corresponder a um ``'^'`` literal, use `` \\ ^``. "
1668
1695
1669
1696
#: ../../howto/regex.rst:721
1670
1697
msgid "``$``"
@@ -1687,13 +1714,19 @@ msgid ""
1687
1714
">>> print(re.search('}$', '{block}\\ n')) \n"
1688
1715
"<re.Match object; span=(6, 7), match='}'>"
1689
1716
msgstr ""
1717
+ ">>> print(re.search('}$', '{block}')) \n"
1718
+ "<re.Match object; span=(6, 7), match='}'>\n"
1719
+ ">>> print(re.search('}$', '{block} '))\n"
1720
+ "None\n"
1721
+ ">>> print(re.search('}$', '{block}\\ n')) \n"
1722
+ "<re.Match object; span=(6, 7), match='}'>"
1690
1723
1691
1724
#: ../../howto/regex.rst:732
1692
1725
msgid ""
1693
1726
"To match a literal ``'$'``, use ``\\ $`` or enclose it inside a character "
1694
1727
"class, as in ``[$]``."
1695
1728
msgstr ""
1696
- "Para corresponder com um ``$ `` literal, use ``\\ $`` ou coloque-o dentro de "
1729
+ "Para corresponder com um ``'$' `` literal, use ``\\ $`` ou coloque-o dentro de "
1697
1730
"uma classe de caracteres, como em ``[$]``."
1698
1731
1699
1732
#: ../../howto/regex.rst:735
@@ -1733,10 +1766,10 @@ msgid ""
1733
1766
"characters, so the end of a word is indicated by whitespace or a non-"
1734
1767
"alphanumeric character."
1735
1768
msgstr ""
1736
- "Borda de palavra. Esta é uma afirmação de `` largura zero`` que corresponde "
1737
- "apenas ao início ou ao final de uma palavra. Uma palavra é definida como uma "
1738
- "sequência de caracteres alfanuméricos, de modo que o fim de uma palavra é "
1739
- "indicado por espaços em branco ou um caractere não alfanumérico."
1769
+ "Borda de palavra. Esta é uma asserção de largura zero que corresponde apenas "
1770
+ "ao início ou ao fim de uma palavra. Uma palavra é definida como uma "
1771
+ "sequência de caracteres alfanuméricos, então o fim de uma palavra é indicado "
1772
+ "por espaço em branco ou um caractere não alfanumérico."
1740
1773
1741
1774
#: ../../howto/regex.rst:750
1742
1775
msgid ""
@@ -1756,6 +1789,13 @@ msgid ""
1756
1789
">>> print(p.search('one subclass is'))\n"
1757
1790
"None"
1758
1791
msgstr ""
1792
+ ">>> p = re.compile(r'\\ bclass\\ b')\n"
1793
+ ">>> print(p.search('no class at all'))\n"
1794
+ "<re.Match object; span=(3, 8), match='class'>\n"
1795
+ ">>> print(p.search('the declassified algorithm'))\n"
1796
+ "None\n"
1797
+ ">>> print(p.search('one subclass is'))\n"
1798
+ "None"
1759
1799
1760
1800
#: ../../howto/regex.rst:761
1761
1801
msgid ""
@@ -1771,9 +1811,9 @@ msgstr ""
1771
1811
"primeiro lugar, esta é a pior colisão entre strings literais do Python e "
1772
1812
"sequências de expressão regular. Nas strings literais do Python, ``\\ b`` é o "
1773
1813
"caractere backspace, o valor ASCII 8. Se você não estiver usando strings "
1774
- "cruas (raw) , então Python irá converter o ``\\ b`` em um backspace e sua RE "
1775
- "não irá funcionar da maneira que você espera. O exemplo a seguir parece "
1776
- "igual a nossa RE anterior, mas omite o ``r `` na frente da string RE. ::"
1814
+ "brutas , então Python irá converter o ``\\ b`` em um backspace e sua RE não "
1815
+ "irá funcionar da maneira que você espera. O exemplo a seguir parece igual a "
1816
+ "nossa RE anterior, mas omite o ``'r' `` na frente da string RE. ::"
1777
1817
1778
1818
#: ../../howto/regex.rst:769
1779
1819
msgid ""
@@ -1783,6 +1823,11 @@ msgid ""
1783
1823
">>> print(p.search('\\ b' + 'class' + '\\ b'))\n"
1784
1824
"<re.Match object; span=(0, 7), match='\\ x08class\\ x08'>"
1785
1825
msgstr ""
1826
+ ">>> p = re.compile('\\ bclass\\ b')\n"
1827
+ ">>> print(p.search('no class at all'))\n"
1828
+ "None\n"
1829
+ ">>> print(p.search('\\ b' + 'class' + '\\ b'))\n"
1830
+ "<re.Match object; span=(0, 7), match='\\ x08class\\ x08'>"
1786
1831
1787
1832
#: ../../howto/regex.rst:775
1788
1833
msgid ""
@@ -1803,9 +1848,8 @@ msgid ""
1803
1848
"Another zero-width assertion, this is the opposite of ``\\ b``, only matching "
1804
1849
"when the current position is not at a word boundary."
1805
1850
msgstr ""
1806
- "Outra afirmação de ``largura zero``; isto é o oposto de ``\\ b``, "
1807
- "correspondendo apenas quando a posição corrente não é de uma borda de "
1808
- "palavra."
1851
+ "Outra afirmação de largura zero; isto é o oposto de ``\\ b``, correspondendo "
1852
+ "apenas quando a posição corrente não é de uma borda de palavra."
1809
1853
1810
1854
#: ../../howto/regex.rst:785
1811
1855
msgid "Grouping"
@@ -1833,6 +1877,10 @@ msgid ""
1833
1877
"MIME-Version: 1.0\n"
1834
1878
1835
1879
msgstr ""
1880
+
1881
+ "User-Agent: Thunderbird 1.5.0.9 (X11/20061227)\n"
1882
+ "MIME-Version: 1.0\n"
1883
+
1836
1884
1837
1885
#: ../../howto/regex.rst:800
1838
1886
msgid ""
@@ -1842,13 +1890,7 @@ msgid ""
1842
1890
msgstr ""
1843
1891
"Isto pode ser gerenciado ao escrever uma expressão regular que corresponde "
1844
1892
"com uma linha inteira de cabeçalho, e tem um grupo que corresponde ao nome "
1845
- "do cabeçalho, e um outro grupo, que corresponde ao valor do cabeçalho. Os "
1846
- "grupos são marcados pelos metacaracteres ``(`` e ``)``. ``(`` e ``)`` têm "
1847
- "muito do mesmo significado que eles têm em expressões matemáticas; eles "
1848
- "agrupam as expressões contidas dentro deles, e você pode repetir o conteúdo "
1849
- "de um grupo com um qualificador de repetição, como ``*``, ``+``, ``?``, ou "
1850
- "``{m,n}``. Por exemplo, ``(ab)*`` irá corresponder a zero ou mais repetições "
1851
- "de ``ab``."
1893
+ "do cabeçalho, e um outro grupo, que corresponde ao valor do cabeçalho."
1852
1894
1853
1895
#: ../../howto/regex.rst:804
1854
1896
msgid ""
@@ -1859,13 +1901,22 @@ msgid ""
1859
1901
"``, or ``{m,n}``. For example, ``(ab)*`` will match zero or more "
1860
1902
"repetitions of ``ab``. ::"
1861
1903
msgstr ""
1904
+ "Os grupos são marcados pelos metacaracteres ``'('`` e ``')'``. ``'('`` e "
1905
+ "``')'`` têm muito do mesmo significado que eles têm em expressões "
1906
+ "matemáticas; eles agrupam as expressões contidas dentro deles, e você pode "
1907
+ "repetir o conteúdo de um grupo com um qualificador de repetição, como ``*``, "
1908
+ "``+``, ``?``, ou ``{m,n}``. Por exemplo, ``(ab)*`` irá corresponder a zero "
1909
+ "ou mais repetições de ``ab``."
1862
1910
1863
1911
#: ../../howto/regex.rst:811
1864
1912
msgid ""
1865
1913
">>> p = re.compile('(ab)*')\n"
1866
1914
">>> print(p.match('ababababab').span())\n"
1867
1915
"(0, 10)"
1868
1916
msgstr ""
1917
+ ">>> p = re.compile('(ab)*')\n"
1918
+ ">>> print(p.match('ababababab').span())\n"
1919
+ "(0, 10)"
1869
1920
1870
1921
#: ../../howto/regex.rst:815
1871
1922
msgid ""
@@ -1878,6 +1929,14 @@ msgid ""
1878
1929
"we'll see how to express groups that don't capture the span of text that "
1879
1930
"they match. ::"
1880
1931
msgstr ""
1932
+ "Grupos indicados com ``'('`` e ``')'`` também capturam o índice inicial e "
1933
+ "final do texto que eles correspondem; isso pode ser obtido por meio da "
1934
+ "passagem de um argumento para :meth:`~re.Match.group`, :meth:`~re.Match."
1935
+ "start`, :meth:`~re.Match.end` e :meth:`~re.Match.span`. Os grupos são "
1936
+ "numerados começando com 0. O grupo 0 está sempre presente; é toda a RE, de "
1937
+ "forma que os métodos de :ref:`objeto de correspondência <match-objects>` têm "
1938
+ "todos o grupo 0 como seu argumento padrão. Mais tarde veremos como expressar "
1939
+ "grupos que não capturam a extensão de texto com a qual eles correspondem, ::"
1881
1940
1882
1941
#: ../../howto/regex.rst:824
1883
1942
msgid ""
@@ -1888,6 +1947,12 @@ msgid ""
1888
1947
">>> m.group(0)\n"
1889
1948
"'ab'"
1890
1949
msgstr ""
1950
+ ">>> p = re.compile('(a)b')\n"
1951
+ ">>> m = p.match('ab')\n"
1952
+ ">>> m.group()\n"
1953
+ "'ab'\n"
1954
+ ">>> m.group(0)\n"
1955
+ "'ab'"
1891
1956
1892
1957
#: ../../howto/regex.rst:831
1893
1958
msgid ""
@@ -1897,7 +1962,7 @@ msgid ""
1897
1962
msgstr ""
1898
1963
"Subgrupos são numerados a partir da esquerda para a direita, de forma "
1899
1964
"crescente a partir de 1. Os grupos podem ser aninhados; para determinar o "
1900
- "número, basta contar os caracteres de abertura de parêntese - ``(``, indo da "
1965
+ "número, basta contar os caracteres de abertura de parêntese ``(``, indo da "
1901
1966
"esquerda para a direita. ::"
1902
1967
1903
1968
#: ../../howto/regex.rst:835
@@ -1911,6 +1976,14 @@ msgid ""
1911
1976
">>> m.group(2)\n"
1912
1977
"'b'"
1913
1978
msgstr ""
1979
+ ">>> p = re.compile('(a(b)c)d')\n"
1980
+ ">>> m = p.match('abcd')\n"
1981
+ ">>> m.group(0)\n"
1982
+ "'abcd'\n"
1983
+ ">>> m.group(1)\n"
1984
+ "'abc'\n"
1985
+ ">>> m.group(2)\n"
1986
+ "'b'"
1914
1987
1915
1988
#: ../../howto/regex.rst:844
1916
1989
msgid ""
@@ -1920,22 +1993,23 @@ msgid ""
1920
1993
msgstr ""
1921
1994
":meth:`~re.Match.group` pode receber vários números de grupos de uma vez, e "
1922
1995
"nesse caso ele irá retornar uma tupla contendo os valores correspondentes "
1923
- "desses grupos."
1996
+ "desses grupos. :: "
1924
1997
1925
1998
#: ../../howto/regex.rst:847
1926
1999
msgid ""
1927
2000
">>> m.group(2,1,2)\n"
1928
2001
"('b', 'abc', 'b')"
1929
2002
msgstr ""
2003
+ ">>> m.group(2,1,2)\n"
2004
+ "('b', 'abc', 'b')"
1930
2005
1931
2006
#: ../../howto/regex.rst:850
1932
2007
msgid ""
1933
2008
"The :meth:`~re.Match.groups` method returns a tuple containing the strings "
1934
2009
"for all the subgroups, from 1 up to however many there are. ::"
1935
2010
msgstr ""
1936
- "O método :meth:`~re.Match.groups` retorna uma tupla contendo as strings de "
1937
- "todos os subgrupos, de 1 até o último. Independente da quantidade de "
1938
- "subgrupos informada. ::"
2011
+ "O método :meth:`~re.Match.groups` retorna uma tupla contendo as strings de "
2012
+ "todos os subgrupos, de 1 até o último. ::"
1939
2013
1940
2014
#: ../../howto/regex.rst:853
1941
2015
msgid ""
@@ -1957,10 +2031,10 @@ msgstr ""
1957
2031
"conteúdo de um grupo capturado anteriormente também deve ser encontrado na "
1958
2032
"posição atual na sequência. Por exemplo, ``\\ 1`` terá sucesso se o conteúdo "
1959
2033
"exato do grupo 1 puder ser encontrado na posição atual, e falhar caso "
1960
- "contrário. Lembre-se que as strings literais do Python também usam a barra "
1961
- "invertida seguida por números para permitir a inclusão de caracteres "
1962
- "arbitrários em uma string, por isso certifique-se de usar strings cruas "
1963
- "(raw) ao incorporar referências anteriores em uma RE."
2034
+ "contrário. Lembre-se que as strings literais do Python também usam a "
2035
+ "contrabarra seguida por números para permitir a inclusão de caracteres "
2036
+ "arbitrários em uma string, por isso certifique-se de usar strings brutas ao "
2037
+ "incorporar referências anteriores em uma RE."
1964
2038
1965
2039
#: ../../howto/regex.rst:864
1966
2040
msgid "For example, the following RE detects doubled words in a string. ::"
@@ -1973,6 +2047,9 @@ msgid ""
1973
2047
">>> p.search('Paris in the the spring').group()\n"
1974
2048
"'the the'"
1975
2049
msgstr ""
2050
+ ">>> p = re.compile(r'\\ b(\\ w+)\\ s+\\ 1\\ b')\n"
2051
+ ">>> p.search('Paris in the the spring').group()\n"
2052
+ "'the the'"
1976
2053
1977
2054
#: ../../howto/regex.rst:870
1978
2055
msgid ""
@@ -1982,8 +2059,8 @@ msgid ""
1982
2059
"substitutions."
1983
2060
msgstr ""
1984
2061
"Referências anteriores como esta não são, geralmente, muito úteis apenas "
1985
- "para fazer pesquisa percorrendo uma string — existem alguns formatos de "
1986
- "texto que repetem dados dessa forma — mas em breve você irá descobrir que "
2062
+ "para fazer pesquisa percorrendo uma string --- existem alguns formatos de "
2063
+ "texto que repetem dados dessa forma --- mas em breve você irá descobrir que "
1987
2064
"elas são muito úteis para realizar substituições de strings."
1988
2065
1989
2066
#: ../../howto/regex.rst:876
@@ -2015,6 +2092,14 @@ msgid ""
2015
2092
"expressions would be assuming that ``&`` was a regular character and "
2016
2093
"wouldn't have escaped it by writing ``\\ &`` or ``[&]``."
2017
2094
msgstr ""
2095
+ "O Perl 5 é bem conhecido por suas poderosas adições às expressões regulares "
2096
+ "padrão. Para esses novos recursos, os desenvolvedores do Perl não podiam "
2097
+ "escolher novos metacaracteres de pressionamento de tecla único ou novas "
2098
+ "sequências especiais começando com ``\\ `` sem tornar as expressões regulares "
2099
+ "do Perl confusamente diferentes das REs padrão. Se eles escolhessem ``&`` "
2100
+ "como um novo metacaractere, por exemplo, as expressões antigas estariam "
2101
+ "presumindo que ``&`` era um caractere regular e não teriam escapado dele "
2102
+ "escrevendo ``\\ &`` ou ``[&]``."
2018
2103
2019
2104
#: ../../howto/regex.rst:891
2020
2105
msgid ""
0 commit comments