diff options
Diffstat (limited to 'tde-i18n-pt/docs/tdebase/kate/regular-expressions.docbook')
-rw-r--r-- | tde-i18n-pt/docs/tdebase/kate/regular-expressions.docbook | 1165 |
1 files changed, 216 insertions, 949 deletions
diff --git a/tde-i18n-pt/docs/tdebase/kate/regular-expressions.docbook b/tde-i18n-pt/docs/tdebase/kate/regular-expressions.docbook index 015be08f1d1..0f870c945ec 100644 --- a/tde-i18n-pt/docs/tdebase/kate/regular-expressions.docbook +++ b/tde-i18n-pt/docs/tdebase/kate/regular-expressions.docbook @@ -1,490 +1,161 @@ <appendix id="regular-expressions"> <appendixinfo> <authorgroup> -<author ->&Anders.Lund; &Anders.Lund.mail;</author> -<othercredit role="translator" -><firstname ->José</firstname -><surname ->Pires</surname -><affiliation -><address -><email ->jncp@netcabo.pt</email -></address -></affiliation -><contrib ->Tradução</contrib -></othercredit -> +<author>&Anders.Lund; &Anders.Lund.mail;</author> +<othercredit role="translator"><firstname>José</firstname><surname>Pires</surname><affiliation><address><email>jncp@netcabo.pt</email></address></affiliation><contrib>Tradução</contrib></othercredit> </authorgroup> </appendixinfo> -<title ->Expressões Regulares</title> +<title>Expressões Regulares</title> -<synopsis ->Este Apêndice contém uma breve, mas abrangente e suficiente, introdução -ao mundo das <emphasis ->expressões regulares</emphasis ->. Ela documenta as +<synopsis>Este Apêndice contém uma breve, mas abrangente e suficiente, introdução +ao mundo das <emphasis>expressões regulares</emphasis>. Ela documenta as expressões regulares na forma que está disponível no &kate;, a qual não é compatível com as expressões regulares do Perl, nem com as do -<command ->grep</command ->, por exemplo.</synopsis> +<command>grep</command>, por exemplo.</synopsis> <sect1> -<title ->Introdução</title> - -<para ->As <emphasis ->Expressões Regulares</emphasis -> oferecem-nos uma forma de descrever alguns conteúdos possíveis de uma sequência de texto, a qual pode ser compreendida de certa forma por algum 'software', de modo a que este possa investigar se um texto corresponde, e também no caso das aplicações avançadas, com a possibilidade de guardar pedaços do texto correspondente.</para> - -<para ->Um exemplo: Imagine que deseja procurar num texto por parágrafos que comecem quer pelos nomes <quote ->Henrique</quote -> ou <quote ->Pedro</quote ->, seguidos de alguma forma do verbo <quote ->dizer</quote ->.</para> - -<para ->Com uma pesquisa normal, iria começar a procurar pelo primeiro nome, <quote ->Henrique</quote ->, sendo talvez seguido de <quote ->di</quote ->, como o seguinte: <userinput ->Henrique di</userinput -> e, enquanto procura por ocorrências, iria ignorar os que não se encontram no início de um parágrafo, assim como os que têm uma palavra que começa por <quote ->di</quote -> que não é <quote ->diz</quote ->, <quote ->disse</quote -> ou algo do género. Claro, e ainda ter que repetir isto com o próximo nome...</para> - -<para ->Com as Expressões Regulares, essa tarefa pode ser acompanhada com uma única pesquisa e com um maior grau de precisão.</para> - -<para ->Para conseguir isto, as Expressões Regulares definem regras para exprimir com detalhe uma generalização de uma sequência de texto com a qual corresponder. No nosso exemplo, o qual podemos exprimir literalmente da seguinte forma: <quote ->Uma linha que começa por <quote ->Henrique</quote -> ou <quote ->Pedro</quote -> (possivelmente a seguir a 4 espaços ou tabulações) seguida de um espaço em branco e da sequência <quote ->di</quote ->, sendo esta seguida de <quote ->z</quote -> ou <quote ->sse</quote -></quote -> pode ser expressa com a seguinte expressão regular:</para -> <para -><userinput ->^[ \t]{0,4}(Henrique|Pedro) di(z|sse)</userinput -></para> - -<para ->O exemplo anterior demonstra todos os quatro maiores conceitos das expressões regulares modernas, nomeadamente:</para> +<title>Introdução</title> + +<para>As <emphasis>Expressões Regulares</emphasis> oferecem-nos uma forma de descrever alguns conteúdos possíveis de uma sequência de texto, a qual pode ser compreendida de certa forma por algum 'software', de modo a que este possa investigar se um texto corresponde, e também no caso das aplicações avançadas, com a possibilidade de guardar pedaços do texto correspondente.</para> + +<para>Um exemplo: Imagine que deseja procurar num texto por parágrafos que comecem quer pelos nomes <quote>Henrique</quote> ou <quote>Pedro</quote>, seguidos de alguma forma do verbo <quote>dizer</quote>.</para> + +<para>Com uma pesquisa normal, iria começar a procurar pelo primeiro nome, <quote>Henrique</quote>, sendo talvez seguido de <quote>di</quote>, como o seguinte: <userinput>Henrique di</userinput> e, enquanto procura por ocorrências, iria ignorar os que não se encontram no início de um parágrafo, assim como os que têm uma palavra que começa por <quote>di</quote> que não é <quote>diz</quote>, <quote>disse</quote> ou algo do género. Claro, e ainda ter que repetir isto com o próximo nome...</para> + +<para>Com as Expressões Regulares, essa tarefa pode ser acompanhada com uma única pesquisa e com um maior grau de precisão.</para> + +<para>Para conseguir isto, as Expressões Regulares definem regras para exprimir com detalhe uma generalização de uma sequência de texto com a qual corresponder. No nosso exemplo, o qual podemos exprimir literalmente da seguinte forma: <quote>Uma linha que começa por <quote>Henrique</quote> ou <quote>Pedro</quote> (possivelmente a seguir a 4 espaços ou tabulações) seguida de um espaço em branco e da sequência <quote>di</quote>, sendo esta seguida de <quote>z</quote> ou <quote>sse</quote></quote> pode ser expressa com a seguinte expressão regular:</para> <para><userinput>^[ \t]{0,4}(Henrique|Pedro) di(z|sse)</userinput></para> + +<para>O exemplo anterior demonstra todos os quatro maiores conceitos das expressões regulares modernas, nomeadamente:</para> <itemizedlist> -<listitem -><para ->Padrões</para -></listitem> -<listitem -><para ->Asserções</para -></listitem> -<listitem -><para ->Quantificadores</para -></listitem> -<listitem -><para ->Referências anteriores</para -></listitem> +<listitem><para>Padrões</para></listitem> +<listitem><para>Asserções</para></listitem> +<listitem><para>Quantificadores</para></listitem> +<listitem><para>Referências anteriores</para></listitem> </itemizedlist> -<para ->O acento circunflexo (<literal ->^</literal ->) no início da expressão é uma asserção ou verificação que é verdadeira só se o texto correspondente está no início da linha.</para> - -<para ->As sequências <literal ->[ \t]</literal -> e <literal ->(Henrique|Pedro) di(z|se)</literal -> são padrões. O primeiro é uma <emphasis ->classe de caracteres</emphasis -> que corresponde quer a um espaço em branco quer a uma tabulação (horizontal); o outro padrão contém, em primeiro lugar, um sub-padrão que corresponde quer a <literal ->Henrique</literal -> <emphasis ->quer a</emphasis -> <literal ->Pedro</literal ->, pelo que se segue o texto exacto <literal -> di</literal -> e, finalmente, existe um sub-padrão que corresponde a <literal ->z</literal -> <emphasis ->ou</emphasis -> a <literal ->sse</literal -></para> - -<para ->A sequência <literal ->{0,4}</literal -> é um quantificador que diz <quote ->qualquer número de vezes entre 0 e 4 da sequência anterior</quote ->.</para> - -<para ->Como o 'software' de expressões regulares suporta o conceito de <emphasis ->referências anteriores</emphasis ->, ele guarda a parte inteira correspondente ao texto, bem como aos sub-padrões entre parêntesis; se for dado um meio de aceder a essas referências, pode-se aceder a toda a correspondência (ao procurar num documento de texto num editor com uma expressão regular, esta é normalmente marcada como seleccionada), apenas ao nome encontrado, ou à última parte do verbo.</para> - -<para ->Tudo em conjunto, a expressão irá corresponder onde nós queiramos que o faça, e só aí.</para> - -<para ->As secções seguintes irão descrever em detalhe como construir e usar os padrões, as classes de caracteres, as verificações, os quantificadores e as referências anteriores; a secção final irá dar alguns exemplos úteis.</para> +<para>O acento circunflexo (<literal>^</literal>) no início da expressão é uma asserção ou verificação que é verdadeira só se o texto correspondente está no início da linha.</para> + +<para>As sequências <literal>[ \t]</literal> e <literal>(Henrique|Pedro) di(z|se)</literal> são padrões. O primeiro é uma <emphasis>classe de caracteres</emphasis> que corresponde quer a um espaço em branco quer a uma tabulação (horizontal); o outro padrão contém, em primeiro lugar, um sub-padrão que corresponde quer a <literal>Henrique</literal> <emphasis>quer a</emphasis> <literal>Pedro</literal>, pelo que se segue o texto exacto <literal> di</literal> e, finalmente, existe um sub-padrão que corresponde a <literal>z</literal> <emphasis>ou</emphasis> a <literal>sse</literal></para> + +<para>A sequência <literal>{0,4}</literal> é um quantificador que diz <quote>qualquer número de vezes entre 0 e 4 da sequência anterior</quote>.</para> + +<para>Como o 'software' de expressões regulares suporta o conceito de <emphasis>referências anteriores</emphasis>, ele guarda a parte inteira correspondente ao texto, bem como aos sub-padrões entre parêntesis; se for dado um meio de aceder a essas referências, pode-se aceder a toda a correspondência (ao procurar num documento de texto num editor com uma expressão regular, esta é normalmente marcada como seleccionada), apenas ao nome encontrado, ou à última parte do verbo.</para> + +<para>Tudo em conjunto, a expressão irá corresponder onde nós queiramos que o faça, e só aí.</para> + +<para>As secções seguintes irão descrever em detalhe como construir e usar os padrões, as classes de caracteres, as verificações, os quantificadores e as referências anteriores; a secção final irá dar alguns exemplos úteis.</para> </sect1> <sect1 id="regex-patterns"> -<title ->Padrões</title> +<title>Padrões</title> -<para ->Os padrões consistem em cadeias de caracteres literais e em classes de caracteres. Os padrões podem conter sub-padrões, que são padrões entre parêntesis.</para> +<para>Os padrões consistem em cadeias de caracteres literais e em classes de caracteres. Os padrões podem conter sub-padrões, que são padrões entre parêntesis.</para> <sect2> -<title ->Caracteres de escape</title> +<title>Caracteres de escape</title> -<para ->Tanto nos padrões como nas classes de caracteres, alguns caracteres têm um significado especial. Para corresponder literalmente com algum desses caracteres, estes têm de ser marcados ou <emphasis ->escapados</emphasis ->, para permitir ao 'software' de expressões regulares perceber que deve interpretar esses caracteres no seu sentido literal.</para> +<para>Tanto nos padrões como nas classes de caracteres, alguns caracteres têm um significado especial. Para corresponder literalmente com algum desses caracteres, estes têm de ser marcados ou <emphasis>escapados</emphasis>, para permitir ao 'software' de expressões regulares perceber que deve interpretar esses caracteres no seu sentido literal.</para> -<para ->Isto é feito, antecedendo o carácter com uma barra invertida (<literal ->\</literal ->).</para> +<para>Isto é feito, antecedendo o carácter com uma barra invertida (<literal>\</literal>).</para> -<para ->O 'software' de expressões regulares irá ignorar silenciosamente uma barra para um carácter que não tenha um significado especial no contexto; por isso, se escapar, por exemplo, um <quote ->j</quote -> (<userinput ->\j</userinput ->), não há problema. Se tiver dúvidas se um carácter poderá ter algum significado especial, podê-lo-á então escapar em segurança.</para> +<para>O 'software' de expressões regulares irá ignorar silenciosamente uma barra para um carácter que não tenha um significado especial no contexto; por isso, se escapar, por exemplo, um <quote>j</quote> (<userinput>\j</userinput>), não há problema. Se tiver dúvidas se um carácter poderá ter algum significado especial, podê-lo-á então escapar em segurança.</para> -<para ->A marcação inclui o próprio carácter de barra; por isso, para escapar uma barra, deveria escrever <userinput ->\\</userinput ->.</para> +<para>A marcação inclui o próprio carácter de barra; por isso, para escapar uma barra, deveria escrever <userinput>\\</userinput>.</para> </sect2> <sect2> -<title ->Classes de Caracteres e abreviaturas</title> - -<para ->Uma <emphasis ->classe de caracteres</emphasis -> é uma expressão que corresponde a um carácter, dentro de um conjunto definido de caracteres. Nas Expressões Regulares, as classes de caracteres são definidas, pondo os caracteres permitidos para a classe entre parêntesis rectos, <literal ->[]</literal ->, ou usando uma das classes abreviadas descritas em seguida.</para> - -<para ->As classes de caracteres simples contêm apenas um ou mais caracteres literais, como por exemplo <userinput ->[abc]</userinput -> (o que pode corresponder quer a <quote ->a</quote ->, a <quote ->b</quote -> ou a <quote ->c</quote ->), ou então o <userinput ->[0123456789]</userinput -> (que corresponde a qualquer dígito).</para> - -<para ->Dado que as letras e os números têm uma ordem lógica, podê-los-á abreviar, indicando intervalos: o <userinput ->[a-c]</userinput -> é igual a <userinput ->[abc]</userinput -> e o <userinput ->[0-9]</userinput -> é igual a <userinput ->[0123456789]</userinput ->. Combinando estas opções, por exemplo <userinput ->[a-fynot1-38]</userinput -> é perfeitamente possível (a última classe irá corresponder a um dos seguintes caracteres: <quote ->a</quote ->,<quote ->b</quote ->,<quote ->c</quote ->,<quote ->d</quote ->, <quote ->e</quote ->,<quote ->f</quote ->,<quote ->y</quote ->,<quote ->n</quote ->,<quote ->o</quote ->,<quote ->t</quote ->, <quote ->1</quote ->,<quote ->2</quote ->,<quote ->3</quote -> ou <quote ->8</quote ->).</para> - -<para ->Dado que as letras maiúsculas são caracteres diferentes dos seus equivalentes minúsculos, para criar uma classe de caracteres indiferente da capitalização que corresponda quer a <quote ->a</quote -> ou a <quote ->b</quote -> em qualquer dos casos, será necessário indicá-la como <userinput ->[aAbB]</userinput ->.</para> - -<para ->Obviamente, é possível criar uma classe <quote ->negativa</quote -> que corresponda a <quote ->tudo excepto</quote ->. Para o fazer, coloque um acento circunflexo (<literal ->^</literal ->) no início da classe: </para> - -<para -><userinput ->[^abc]</userinput -> irá corresponder a qualquer carácter <emphasis ->excepto</emphasis -> o <quote ->a</quote ->, o <quote ->b</quote -> ou o <quote ->c</quote ->.</para> - -<para ->Para além dos caracteres literais, estão definidas algumas abreviaturas, o que torna a vida um pouco mais fácil: <variablelist> +<title>Classes de Caracteres e abreviaturas</title> + +<para>Uma <emphasis>classe de caracteres</emphasis> é uma expressão que corresponde a um carácter, dentro de um conjunto definido de caracteres. Nas Expressões Regulares, as classes de caracteres são definidas, pondo os caracteres permitidos para a classe entre parêntesis rectos, <literal>[]</literal>, ou usando uma das classes abreviadas descritas em seguida.</para> + +<para>As classes de caracteres simples contêm apenas um ou mais caracteres literais, como por exemplo <userinput>[abc]</userinput> (o que pode corresponder quer a <quote>a</quote>, a <quote>b</quote> ou a <quote>c</quote>), ou então o <userinput>[0123456789]</userinput> (que corresponde a qualquer dígito).</para> + +<para>Dado que as letras e os números têm uma ordem lógica, podê-los-á abreviar, indicando intervalos: o <userinput>[a-c]</userinput> é igual a <userinput>[abc]</userinput> e o <userinput>[0-9]</userinput> é igual a <userinput>[0123456789]</userinput>. Combinando estas opções, por exemplo <userinput>[a-fynot1-38]</userinput> é perfeitamente possível (a última classe irá corresponder a um dos seguintes caracteres: <quote>a</quote>,<quote>b</quote>,<quote>c</quote>,<quote>d</quote>, <quote>e</quote>,<quote>f</quote>,<quote>y</quote>,<quote>n</quote>,<quote>o</quote>,<quote>t</quote>, <quote>1</quote>,<quote>2</quote>,<quote>3</quote> ou <quote>8</quote>).</para> + +<para>Dado que as letras maiúsculas são caracteres diferentes dos seus equivalentes minúsculos, para criar uma classe de caracteres indiferente da capitalização que corresponda quer a <quote>a</quote> ou a <quote>b</quote> em qualquer dos casos, será necessário indicá-la como <userinput>[aAbB]</userinput>.</para> + +<para>Obviamente, é possível criar uma classe <quote>negativa</quote> que corresponda a <quote>tudo excepto</quote>. Para o fazer, coloque um acento circunflexo (<literal>^</literal>) no início da classe: </para> + +<para><userinput>[^abc]</userinput> irá corresponder a qualquer carácter <emphasis>excepto</emphasis> o <quote>a</quote>, o <quote>b</quote> ou o <quote>c</quote>.</para> + +<para>Para além dos caracteres literais, estão definidas algumas abreviaturas, o que torna a vida um pouco mais fácil: <variablelist> <varlistentry> -<term -><userinput ->\a</userinput -></term> -<listitem -><para ->Isto corresponde ao carácter <acronym ->ASCII</acronym -> da campainha (BEL, 0x07).</para -></listitem> +<term><userinput>\a</userinput></term> +<listitem><para>Isto corresponde ao carácter <acronym>ASCII</acronym> da campainha (BEL, 0x07).</para></listitem> </varlistentry> <varlistentry> -<term -><userinput ->\f</userinput -></term> -<listitem -><para ->Isto corresponde ao carácter <acronym ->ASCII</acronym -> de 'form feed' (FF, 0x0C).</para -></listitem> +<term><userinput>\f</userinput></term> +<listitem><para>Isto corresponde ao carácter <acronym>ASCII</acronym> de 'form feed' (FF, 0x0C).</para></listitem> </varlistentry> <varlistentry> -<term -><userinput ->\n</userinput -></term> -<listitem -><para ->Isto corresponde ao carácter <acronym ->ASCII</acronym -> de 'line feed' (LF, 0x0A, a mudança de linha do Unix).</para -></listitem> +<term><userinput>\n</userinput></term> +<listitem><para>Isto corresponde ao carácter <acronym>ASCII</acronym> de 'line feed' (LF, 0x0A, a mudança de linha do Unix).</para></listitem> </varlistentry> <varlistentry> -<term -><userinput ->\r</userinput -></term> -<listitem -><para ->Isto corresponde ao carácter <acronym ->ASCII</acronym -> de 'carriage return' (CR, 0x0D).</para -></listitem> +<term><userinput>\r</userinput></term> +<listitem><para>Isto corresponde ao carácter <acronym>ASCII</acronym> de 'carriage return' (CR, 0x0D).</para></listitem> </varlistentry> <varlistentry> -<term -><userinput ->\t</userinput -></term> -<listitem -><para ->Isto corresponde ao carácter <acronym ->ASCII</acronym -> de tabulação horizontal (HT, 0x09).</para -></listitem> +<term><userinput>\t</userinput></term> +<listitem><para>Isto corresponde ao carácter <acronym>ASCII</acronym> de tabulação horizontal (HT, 0x09).</para></listitem> </varlistentry> <varlistentry> -<term -><userinput ->\v</userinput -></term> -<listitem -><para ->Isto corresponde ao carácter <acronym ->ASCII</acronym -> de tabulação vertical (VT, 0x0B).</para -></listitem> +<term><userinput>\v</userinput></term> +<listitem><para>Isto corresponde ao carácter <acronym>ASCII</acronym> de tabulação vertical (VT, 0x0B).</para></listitem> </varlistentry> <varlistentry> -<term -><userinput ->\xhhhh</userinput -></term> - -<listitem -><para ->Isto corresponde ao carácter Unicode com o código hexadecimal 'hhhh' (entre 0x0000 e 0xFFFF). O \0ooo (isto é, \zero ooo) corresponde ao carácter <acronym ->ASCII</acronym ->/Latin-1 com o código octal 'ooo' (entre 0 e 0377).</para -></listitem> +<term><userinput>\xhhhh</userinput></term> + +<listitem><para>Isto corresponde ao carácter Unicode com o código hexadecimal 'hhhh' (entre 0x0000 e 0xFFFF). O \0ooo (isto é, \zero ooo) corresponde ao carácter <acronym>ASCII</acronym>/Latin-1 com o código octal 'ooo' (entre 0 e 0377).</para></listitem> </varlistentry> <varlistentry> -<term -><userinput ->.</userinput -> (ponto)</term> -<listitem -><para ->Isto corresponde a qualquer carácter (mesmo à mudança de linha).</para -></listitem> +<term><userinput>.</userinput> (ponto)</term> +<listitem><para>Isto corresponde a qualquer carácter (mesmo à mudança de linha).</para></listitem> </varlistentry> <varlistentry> -<term -><userinput ->\d</userinput -></term> -<listitem -><para ->Corresponde a um dígito. É igual a <literal ->[0-9]</literal -></para -></listitem> +<term><userinput>\d</userinput></term> +<listitem><para>Corresponde a um dígito. É igual a <literal>[0-9]</literal></para></listitem> </varlistentry> <varlistentry> -<term -><userinput ->\D</userinput -></term> -<listitem -><para ->Corresponde a um não-dígito. É igual a <literal ->[^0-9]</literal -> ou <literal ->[^\d]</literal -></para -></listitem> +<term><userinput>\D</userinput></term> +<listitem><para>Corresponde a um não-dígito. É igual a <literal>[^0-9]</literal> ou <literal>[^\d]</literal></para></listitem> </varlistentry> <varlistentry> -<term -><userinput ->\s</userinput -></term> -<listitem -><para ->Corresponde a um carácter em branco. É praticamente igual a <literal ->[ \t\n\r]</literal -></para -></listitem> +<term><userinput>\s</userinput></term> +<listitem><para>Corresponde a um carácter em branco. É praticamente igual a <literal>[ \t\n\r]</literal></para></listitem> </varlistentry> <varlistentry> -<term -><userinput ->\S</userinput -></term> -<listitem -><para ->Corresponde a um carácter não-branco. É praticamente igual a <literal ->[^ \t\r\n]</literal -> e igual a <literal ->[^\s]</literal -></para -></listitem> +<term><userinput>\S</userinput></term> +<listitem><para>Corresponde a um carácter não-branco. É praticamente igual a <literal>[^ \t\r\n]</literal> e igual a <literal>[^\s]</literal></para></listitem> </varlistentry> <varlistentry> -<term -><userinput ->\w</userinput -></term> -<listitem -><para ->Corresponde a qualquer <quote ->carácter de palavra</quote -> - neste caso, qualquer letra ou dígito. Repare que o sublinhado (<literal ->_</literal ->) não corresponde, como acontece com as expressões regulares do Perl. É igual a <literal ->[a-zA-Z0-9]</literal -></para -></listitem> +<term><userinput>\w</userinput></term> +<listitem><para>Corresponde a qualquer <quote>carácter de palavra</quote> - neste caso, qualquer letra ou dígito. Repare que o sublinhado (<literal>_</literal>) não corresponde, como acontece com as expressões regulares do Perl. É igual a <literal>[a-zA-Z0-9]</literal></para></listitem> </varlistentry> <varlistentry> -<term -><userinput ->\W</userinput -></term> -<listitem -><para ->Corresponde a um não-carácter de palavra - tudo menos letras ou dígitos. É igual a <literal ->[^a-zA-Z0-9]</literal -> ou <literal ->[^\w]</literal -></para -></listitem> +<term><userinput>\W</userinput></term> +<listitem><para>Corresponde a um não-carácter de palavra - tudo menos letras ou dígitos. É igual a <literal>[^a-zA-Z0-9]</literal> ou <literal>[^\w]</literal></para></listitem> </varlistentry> @@ -492,69 +163,31 @@ compatível com as expressões regulares do Perl, nem com as do </para> -<para ->As classes abreviadas podem ser postas dentro de uma classe personalizada; por exemplo, para corresponder a um carácter de palavra, a um espaço em branco ou a um ponto, poderia escrever <userinput ->[\w \.]</userinput -></para -> +<para>As classes abreviadas podem ser postas dentro de uma classe personalizada; por exemplo, para corresponder a um carácter de palavra, a um espaço em branco ou a um ponto, poderia escrever <userinput>[\w \.]</userinput></para> -<note -> <para ->A notação POSIX das classes, <userinput ->[:<nome da classe>:]</userinput -> não é suportada de momento.</para -> </note> +<note> <para>A notação POSIX das classes, <userinput>[:<nome da classe>:]</userinput> não é suportada de momento.</para> </note> <sect3> -<title ->Os caracteres com significados especiais dentro de classes de caracteres</title> +<title>Os caracteres com significados especiais dentro de classes de caracteres</title> -<para ->Os seguintes caracteres têm um significado especial dentro da estrutura da classe de caracteres <quote ->[]</quote ->, devendo ser escapados para serem incluídos literalmente dentro de uma classe:</para> +<para>Os seguintes caracteres têm um significado especial dentro da estrutura da classe de caracteres <quote>[]</quote>, devendo ser escapados para serem incluídos literalmente dentro de uma classe:</para> <variablelist> <varlistentry> -<term -><userinput ->]</userinput -></term> -<listitem -><para ->Termina a classe de caracteres. Deve ser escapada, a menos que seja o primeiro carácter da classe (pode estar a seguir a um ^ não-escapado)</para -></listitem> +<term><userinput>]</userinput></term> +<listitem><para>Termina a classe de caracteres. Deve ser escapada, a menos que seja o primeiro carácter da classe (pode estar a seguir a um ^ não-escapado)</para></listitem> </varlistentry> <varlistentry> -<term -><userinput ->^</userinput -> (acento circunflexo)</term> -<listitem -><para ->Denota uma classe negativa, se for o primeiro carácter. Deve ser escapado para ser correspondido literalmente, se for o primeiro carácter da classe.</para -></listitem -> +<term><userinput>^</userinput> (acento circunflexo)</term> +<listitem><para>Denota uma classe negativa, se for o primeiro carácter. Deve ser escapado para ser correspondido literalmente, se for o primeiro carácter da classe.</para></listitem> </varlistentry> <varlistentry> -<term -><userinput ->-</userinput -> (traço)</term> -<listitem -><para ->Denota um intervalo lógico. Deve estar sempre escapado numa classe de caracteres.</para -></listitem> +<term><userinput>-</userinput> (traço)</term> +<listitem><para>Denota um intervalo lógico. Deve estar sempre escapado numa classe de caracteres.</para></listitem> </varlistentry> <varlistentry> -<term -><userinput ->\</userinput -> (barra invertida)</term> -<listitem -><para ->O carácter de escape. Deve ser sempre escapado.</para -></listitem> +<term><userinput>\</userinput> (barra invertida)</term> +<listitem><para>O carácter de escape. Deve ser sempre escapado.</para></listitem> </varlistentry> </variablelist> @@ -565,240 +198,110 @@ compatível com as expressões regulares do Perl, nem com as do <sect2> -<title ->Alternativas: corresponder a <quote ->um de</quote -></title> - -<para ->Se quiser corresponder a um elemento de um conjunto de padrões alternativos, podê-los-á separar com o <literal ->|</literal -> (carácter de barra vertical).</para> - -<para ->Por exemplo, se quiser encontrar tanto <quote ->João</quote -> como <quote ->Henrique</quote ->, poderá usar uma expressão <userinput ->João|Henrique</userinput ->.</para> +<title>Alternativas: corresponder a <quote>um de</quote></title> + +<para>Se quiser corresponder a um elemento de um conjunto de padrões alternativos, podê-los-á separar com o <literal>|</literal> (carácter de barra vertical).</para> + +<para>Por exemplo, se quiser encontrar tanto <quote>João</quote> como <quote>Henrique</quote>, poderá usar uma expressão <userinput>João|Henrique</userinput>.</para> </sect2> <sect2> -<title ->Sub-Padrões</title> +<title>Sub-Padrões</title> -<para ->Os <emphasis ->sub-padrões</emphasis -> são padrões colocados dentro de parêntesis, e podem ter várias utilizações no mundo das expressões regulares.</para> +<para>Os <emphasis>sub-padrões</emphasis> são padrões colocados dentro de parêntesis, e podem ter várias utilizações no mundo das expressões regulares.</para> <sect3> -<title ->Definir alternativas</title> - -<para ->Poderá usar um sub-padrão para agrupar um conjunto de alternativas num padrão maior. As alternativas são separadas pelo carácter <quote ->|</quote -> (barra vertical).</para> - -<para ->Por exemplo, para corresponder a uma das palavras <quote ->int</quote ->, <quote ->float</quote -> ou <quote ->double</quote ->, poderia usar o padrão <userinput ->int|float|double</userinput ->. Se só desejar encontrar uma, se estiver seguida de algum espaço e de algumas letras, ponha as alternativas dentro de um sub-padrão: <userinput ->(int|float|double)\s+\w+</userinput ->.</para> +<title>Definir alternativas</title> + +<para>Poderá usar um sub-padrão para agrupar um conjunto de alternativas num padrão maior. As alternativas são separadas pelo carácter <quote>|</quote> (barra vertical).</para> + +<para>Por exemplo, para corresponder a uma das palavras <quote>int</quote>, <quote>float</quote> ou <quote>double</quote>, poderia usar o padrão <userinput>int|float|double</userinput>. Se só desejar encontrar uma, se estiver seguida de algum espaço e de algumas letras, ponha as alternativas dentro de um sub-padrão: <userinput>(int|float|double)\s+\w+</userinput>.</para> </sect3> <sect3> -<title ->Capturar o texto correspondente (referências anteriores)</title> - -<para ->Se desejar usar uma referência anterior, use um sub-padrão para obter a parte desejada do padrão recordado.</para> - -<para ->Por exemplo, se quiser encontrar duas ocorrências da mesma palavra, separadas por uma vírgula e provavelmente por algum espaço, poderia escrever <userinput ->(\w+),\s*\1</userinput ->. O sub-padrão <literal ->\w+</literal -> iria encontrar um conjunto de caracteres de palavra e a expressão inteira iria corresponder, se estas fossem seguidas por uma vírgula, 0 ou mais espaços e por um conjunto igual de caracteres de palavras. (O texto <literal ->\1</literal -> referencia <emphasis ->o primeiro sub-padrão entre parêntesis</emphasis ->)</para> - -<!-- <para ->See also <link linkend="backreferences" ->Back references</link ->.</para -> --> +<title>Capturar o texto correspondente (referências anteriores)</title> + +<para>Se desejar usar uma referência anterior, use um sub-padrão para obter a parte desejada do padrão recordado.</para> + +<para>Por exemplo, se quiser encontrar duas ocorrências da mesma palavra, separadas por uma vírgula e provavelmente por algum espaço, poderia escrever <userinput>(\w+),\s*\1</userinput>. O sub-padrão <literal>\w+</literal> iria encontrar um conjunto de caracteres de palavra e a expressão inteira iria corresponder, se estas fossem seguidas por uma vírgula, 0 ou mais espaços e por um conjunto igual de caracteres de palavras. (O texto <literal>\1</literal> referencia <emphasis>o primeiro sub-padrão entre parêntesis</emphasis>)</para> + +<!-- <para>See also <link linkend="backreferences">Back references</link>.</para> --> </sect3> <sect3 id="lookahead-assertions"> -<title ->Verificações Antecipadas</title> - -<para ->Uma verificação antecipada é um sub-padrão que começa por <literal ->?=</literal -> ou por <literal ->?!</literal ->.</para> - -<para ->Por exemplo, para fazer a correspondência com o nome <quote ->Bill</quote -> mas só se não for seguido de <quote -> Gates</quote ->, podia usar esta expressão: <userinput ->Bill(?! Gates)</userinput ->. (Isto iria encontrar o <quote ->Bill Clinton</quote ->, assim como o <quote ->Billy the kid</quote ->, mas iria ignorar as outras correspondências).</para> - -<para ->Os sub-padrões usados para as verificações não são capturados.</para> - -<para ->Veja também as <link linkend="assertions" ->Asserções ou Verificações</link -></para> +<title>Verificações Antecipadas</title> + +<para>Uma verificação antecipada é um sub-padrão que começa por <literal>?=</literal> ou por <literal>?!</literal>.</para> + +<para>Por exemplo, para fazer a correspondência com o nome <quote>Bill</quote> mas só se não for seguido de <quote> Gates</quote>, podia usar esta expressão: <userinput>Bill(?! Gates)</userinput>. (Isto iria encontrar o <quote>Bill Clinton</quote>, assim como o <quote>Billy the kid</quote>, mas iria ignorar as outras correspondências).</para> + +<para>Os sub-padrões usados para as verificações não são capturados.</para> + +<para>Veja também as <link linkend="assertions">Asserções ou Verificações</link></para> </sect3> </sect2> <sect2 id="special-characters-in-patterns"> -<title ->Os caracteres com um significado especial dentro de padrões</title> +<title>Os caracteres com um significado especial dentro de padrões</title> -<para ->Os seguintes caracteres têm significado próprio dentro de um padrão, e necessitam ser escapados se quiser fazer correspondência com eles: <variablelist> +<para>Os seguintes caracteres têm significado próprio dentro de um padrão, e necessitam ser escapados se quiser fazer correspondência com eles: <variablelist> <varlistentry> -<term -><userinput ->\</userinput -> (barra invertida)</term> -<listitem -><para ->O carácter de escape.</para -></listitem> +<term><userinput>\</userinput> (barra invertida)</term> +<listitem><para>O carácter de escape.</para></listitem> </varlistentry> <varlistentry> -<term -><userinput ->^</userinput -> (acento circunflexo)</term> -<listitem -><para ->Corresponde ao início do texto.</para -></listitem> +<term><userinput>^</userinput> (acento circunflexo)</term> +<listitem><para>Corresponde ao início do texto.</para></listitem> </varlistentry> <varlistentry> -<term -><userinput ->$</userinput -></term> -<listitem -><para ->Verifica o fim do texto.</para -></listitem> +<term><userinput>$</userinput></term> +<listitem><para>Verifica o fim do texto.</para></listitem> </varlistentry> <varlistentry> -<term -><userinput ->()</userinput -> (parêntesis esquerdo e direito)</term> -<listitem -><para ->Denota os sub-padrões.</para -></listitem> +<term><userinput>()</userinput> (parêntesis esquerdo e direito)</term> +<listitem><para>Denota os sub-padrões.</para></listitem> </varlistentry> <varlistentry> -<term -><userinput ->{}</userinput -> (chavetas esquerda e direita)</term> -<listitem -><para ->Denota os quantificadores numéricos.</para -></listitem> +<term><userinput>{}</userinput> (chavetas esquerda e direita)</term> +<listitem><para>Denota os quantificadores numéricos.</para></listitem> </varlistentry> <varlistentry> -<term -><userinput ->[]</userinput -> (parêntesis rectos esquerdo e direito)</term> -<listitem -><para ->Denota as classes de caracteres.</para -></listitem> +<term><userinput>[]</userinput> (parêntesis rectos esquerdo e direito)</term> +<listitem><para>Denota as classes de caracteres.</para></listitem> </varlistentry> <varlistentry> -<term -><userinput ->|</userinput -> (barra vertical)</term> -<listitem -><para ->OU lógico; separa as alternativas.</para -></listitem> +<term><userinput>|</userinput> (barra vertical)</term> +<listitem><para>OU lógico; separa as alternativas.</para></listitem> </varlistentry> <varlistentry> -<term -><userinput ->+</userinput -> (sinal mais)</term> -<listitem -><para ->Quantificador, 1 ou mais.</para -></listitem> +<term><userinput>+</userinput> (sinal mais)</term> +<listitem><para>Quantificador, 1 ou mais.</para></listitem> </varlistentry> <varlistentry> -<term -><userinput ->*</userinput -> (asterisco)</term> -<listitem -><para ->Quantificador, 0 ou mais.</para -></listitem> +<term><userinput>*</userinput> (asterisco)</term> +<listitem><para>Quantificador, 0 ou mais.</para></listitem> </varlistentry> <varlistentry> -<term -><userinput ->?</userinput -> (ponto de interrogação)</term> -<listitem -><para ->Um carácter opcional. Pode ser interpretado como um quantificador 0 ou 1.</para -></listitem> +<term><userinput>?</userinput> (ponto de interrogação)</term> +<listitem><para>Um carácter opcional. Pode ser interpretado como um quantificador 0 ou 1.</para></listitem> </varlistentry> </variablelist> @@ -810,125 +313,58 @@ compatível com as expressões regulares do Perl, nem com as do </sect1> <sect1 id="quantifiers"> -<title ->Quantificadores</title> - -<para ->Os <emphasis ->quantificadores</emphasis -> permitem a uma expressão regular fazer a correspondência com um número ou intervalo específico de vezes nas quais ocorre um carácter, classe de caracteres ou sub-padrão.</para> - -<para ->Os quantificadores estão delimitados por chavetas (<literal ->{</literal -> e <literal ->}</literal ->) e têm a forma geral <literal ->{[mínimo-de-ocorrências][,[máximo-de-ocorrências]]}</literal -> </para> - -<para ->A sua utilização será melhor explicada com um exemplo: <variablelist> +<title>Quantificadores</title> + +<para>Os <emphasis>quantificadores</emphasis> permitem a uma expressão regular fazer a correspondência com um número ou intervalo específico de vezes nas quais ocorre um carácter, classe de caracteres ou sub-padrão.</para> + +<para>Os quantificadores estão delimitados por chavetas (<literal>{</literal> e <literal>}</literal>) e têm a forma geral <literal>{[mínimo-de-ocorrências][,[máximo-de-ocorrências]]}</literal> </para> + +<para>A sua utilização será melhor explicada com um exemplo: <variablelist> <varlistentry> -<term -><userinput ->{1}</userinput -></term> -<listitem -><para ->Exactamente 1 ocorrência</para -></listitem> +<term><userinput>{1}</userinput></term> +<listitem><para>Exactamente 1 ocorrência</para></listitem> </varlistentry> <varlistentry> -<term -><userinput ->{0,1}</userinput -></term> -<listitem -><para ->Zero ou 1 ocorrências</para -></listitem> +<term><userinput>{0,1}</userinput></term> +<listitem><para>Zero ou 1 ocorrências</para></listitem> </varlistentry> <varlistentry> -<term -><userinput ->{,1}</userinput -></term> -<listitem -><para ->O mesmo, mas com menos trabalho ;)</para -></listitem> +<term><userinput>{,1}</userinput></term> +<listitem><para>O mesmo, mas com menos trabalho ;)</para></listitem> </varlistentry> <varlistentry> -<term -><userinput ->{5,10}</userinput -></term> -<listitem -><para ->Pelo menos 5, mas no máximo 10 ocorrências.</para -></listitem> +<term><userinput>{5,10}</userinput></term> +<listitem><para>Pelo menos 5, mas no máximo 10 ocorrências.</para></listitem> </varlistentry> <varlistentry> -<term -><userinput ->{5,}</userinput -></term> -<listitem -><para ->Pelo menos 5 ocorrências, sem máximo.</para -></listitem> +<term><userinput>{5,}</userinput></term> +<listitem><para>Pelo menos 5 ocorrências, sem máximo.</para></listitem> </varlistentry> </variablelist> </para> -<para ->Adicionalmente, existem algumas abreviaturas: <variablelist> +<para>Adicionalmente, existem algumas abreviaturas: <variablelist> <varlistentry> -<term -><userinput ->*</userinput -> (asterisco)</term> -<listitem -><para ->semelhante a <literal ->{0,}</literal ->, encontra qualquer número de ocorrências.</para -></listitem> +<term><userinput>*</userinput> (asterisco)</term> +<listitem><para>semelhante a <literal>{0,}</literal>, encontra qualquer número de ocorrências.</para></listitem> </varlistentry> <varlistentry> -<term -><userinput ->+</userinput -> (sinal mais)</term> -<listitem -><para ->semelhante a <literal ->{1,}</literal ->, pelo menos 1 ocorrência.</para -></listitem> +<term><userinput>+</userinput> (sinal mais)</term> +<listitem><para>semelhante a <literal>{1,}</literal>, pelo menos 1 ocorrência.</para></listitem> </varlistentry> <varlistentry> -<term -><userinput ->?</userinput -> (ponto de interrogação)</term> -<listitem -><para ->semelhante a <literal ->{0,1}</literal ->, zero ou uma ocorrências.</para -></listitem> +<term><userinput>?</userinput> (ponto de interrogação)</term> +<listitem><para>semelhante a <literal>{0,1}</literal>, zero ou uma ocorrências.</para></listitem> </varlistentry> </variablelist> @@ -937,98 +373,39 @@ compatível com as expressões regulares do Perl, nem com as do <sect2> -<title ->Ganância</title> +<title>Ganância</title> -<para ->Ao usar quantificadores sem máximos, as expressões regulares tentam corresponder com o máximo do texto possível, um comportamento designado normalmente como <emphasis ->greedy</emphasis -> (ambicioso).</para> +<para>Ao usar quantificadores sem máximos, as expressões regulares tentam corresponder com o máximo do texto possível, um comportamento designado normalmente como <emphasis>greedy</emphasis> (ambicioso).</para> -<para ->O 'software' de expressões regulares moderno oferece as opções para <quote ->desligar esse comportamento</quote ->, ainda que, num ambiente gráfico, isto dependa da interface que der para a funcionalidade. Por exemplo, uma janela de procura, que ofereça uma pesquisa de expressões regulares, poderia ter uma opção chamada <quote ->Correspondência mínima</quote ->, assim como podia indicar se o comportamento ambicioso é o comportamento por omissão.</para> +<para>O 'software' de expressões regulares moderno oferece as opções para <quote>desligar esse comportamento</quote>, ainda que, num ambiente gráfico, isto dependa da interface que der para a funcionalidade. Por exemplo, uma janela de procura, que ofereça uma pesquisa de expressões regulares, poderia ter uma opção chamada <quote>Correspondência mínima</quote>, assim como podia indicar se o comportamento ambicioso é o comportamento por omissão.</para> </sect2> <sect2> -<title ->Exemplos no contexto</title> +<title>Exemplos no contexto</title> -<para ->Aqui estão alguns exemplos da utilização de quantificadores</para> +<para>Aqui estão alguns exemplos da utilização de quantificadores</para> <variablelist> <varlistentry> -<term -><userinput ->^\d{4,5}\s</userinput -></term> -<listitem -><para ->Corresponde aos dígitos em <quote ->1234 go</quote -> e em <quote ->12345 now</quote ->, mas não corresponde a <quote ->567 eleven</quote -> ou a <quote ->223459 somewhere</quote -></para -></listitem> +<term><userinput>^\d{4,5}\s</userinput></term> +<listitem><para>Corresponde aos dígitos em <quote>1234 go</quote> e em <quote>12345 now</quote>, mas não corresponde a <quote>567 eleven</quote> ou a <quote>223459 somewhere</quote></para></listitem> </varlistentry> <varlistentry> -<term -><userinput ->\s+</userinput -></term> -<listitem -><para ->Corresponde a um ou mais caracteres em branco</para -></listitem> +<term><userinput>\s+</userinput></term> +<listitem><para>Corresponde a um ou mais caracteres em branco</para></listitem> </varlistentry> <varlistentry> -<term -><userinput ->(bla){1,}</userinput -></term> -<listitem -><para ->Corresponde a tudo de <quote ->blablabla</quote -> e a <quote ->bla</quote -> em <quote ->blackbird</quote -> ou em <quote ->tabela</quote -></para -></listitem> +<term><userinput>(bla){1,}</userinput></term> +<listitem><para>Corresponde a tudo de <quote>blablabla</quote> e a <quote>bla</quote> em <quote>blackbird</quote> ou em <quote>tabela</quote></para></listitem> </varlistentry> <varlistentry> -<term -><userinput ->/?></userinput -></term> -<listitem -><para ->Corresponde a <quote ->/></quote -> em <quote -><closeditem/></quote -> assim como a <quote ->></quote -> em <quote -><openitem></quote ->.</para -></listitem> +<term><userinput>/?></userinput></term> +<listitem><para>Corresponde a <quote>/></quote> em <quote><closeditem/></quote> assim como a <quote>></quote> em <quote><openitem></quote>.</para></listitem> </varlistentry> </variablelist> @@ -1038,164 +415,56 @@ compatível com as expressões regulares do Perl, nem com as do </sect1> <sect1 id="assertions"> -<title ->Asserções</title> - -<para ->As <emphasis ->verificações</emphasis -> ou asserções permitem a uma expressão regular fazer a correspondência, apenas sob determinadas condições controladas.</para> - -<para ->Uma verificação não precisa de um carácter com o qual corresponder; em vez disso, verifica os limites de uma possível correspondência antes de a indicar. Por exemplo, a verificação de <emphasis ->limite de palavra</emphasis -> não tenta encontrar um carácter não pertencente a uma palavra junto com um carácter de palavra, mas sim tenta ter a certeza que não existe um carácter de palavra. Isto significa que a verificação pode corresponder onde não existir um carácter, isto é, no fim do texto a pesquisar.</para> - -<para ->Algumas verificações, de facto, têm um padrão de correspondência, mas a parte do texto que correspondeu não será uma parte do resultado da correspondência, em relação à expressão completa.</para> - -<para ->As Expressões Regulares aqui referidas suportam as seguintes verificações: <variablelist> - -<varlistentry -> -<term -><userinput ->^</userinput -> (acento circunflexo: início do texto)</term -> -<listitem -><para ->Corresponde ao início do texto a pesquisar.</para -> <para ->A expressão <userinput ->^Pedro</userinput -> irá corresponder a <quote ->Pedro</quote -> no texto <quote ->Pedro, olá!</quote -> mas não em <quote ->Olá, Pedro!</quote -> </para -> </listitem> +<title>Asserções</title> + +<para>As <emphasis>verificações</emphasis> ou asserções permitem a uma expressão regular fazer a correspondência, apenas sob determinadas condições controladas.</para> + +<para>Uma verificação não precisa de um carácter com o qual corresponder; em vez disso, verifica os limites de uma possível correspondência antes de a indicar. Por exemplo, a verificação de <emphasis>limite de palavra</emphasis> não tenta encontrar um carácter não pertencente a uma palavra junto com um carácter de palavra, mas sim tenta ter a certeza que não existe um carácter de palavra. Isto significa que a verificação pode corresponder onde não existir um carácter, isto é, no fim do texto a pesquisar.</para> + +<para>Algumas verificações, de facto, têm um padrão de correspondência, mas a parte do texto que correspondeu não será uma parte do resultado da correspondência, em relação à expressão completa.</para> + +<para>As Expressões Regulares aqui referidas suportam as seguintes verificações: <variablelist> + +<varlistentry> +<term><userinput>^</userinput> (acento circunflexo: início do texto)</term> +<listitem><para>Corresponde ao início do texto a pesquisar.</para> <para>A expressão <userinput>^Pedro</userinput> irá corresponder a <quote>Pedro</quote> no texto <quote>Pedro, olá!</quote> mas não em <quote>Olá, Pedro!</quote> </para> </listitem> </varlistentry> <varlistentry> -<term -><userinput ->$</userinput -> (fim do texto)</term> -<listitem -><para ->Corresponde ao fim do texto a pesquisar.</para> - -<para ->A expressão <userinput ->tu\?$</userinput -> irá corresponder ao último 'tu' no texto <quote ->tu não fizeste isto, ou foste tu?</quote -> mas não fará correspondência em <quote ->tu não fizeste isto, certo?</quote -></para> +<term><userinput>$</userinput> (fim do texto)</term> +<listitem><para>Corresponde ao fim do texto a pesquisar.</para> + +<para>A expressão <userinput>tu\?$</userinput> irá corresponder ao último 'tu' no texto <quote>tu não fizeste isto, ou foste tu?</quote> mas não fará correspondência em <quote>tu não fizeste isto, certo?</quote></para> </listitem> </varlistentry> <varlistentry> -<term -><userinput ->\b</userinput -> (limite de palavra)</term> -<listitem -><para ->Corresponde a um limite de palavra de um lado e se não é um carácter de palavra do outro.</para> -<para ->Isto é útil para encontrar limites das palavras como, por exemplo, ambos os extremos para encontrar uma palavra inteira. A expressão <userinput ->\bem\b</userinput -> irá corresponde ao <quote ->em</quote -> separado no texto <quote ->Ele entrou em Enfermagem</quote ->, mas não corresponder a <quote ->em</quote -> na palavra <quote ->Enfermagem</quote ->.</para -></listitem> +<term><userinput>\b</userinput> (limite de palavra)</term> +<listitem><para>Corresponde a um limite de palavra de um lado e se não é um carácter de palavra do outro.</para> +<para>Isto é útil para encontrar limites das palavras como, por exemplo, ambos os extremos para encontrar uma palavra inteira. A expressão <userinput>\bem\b</userinput> irá corresponde ao <quote>em</quote> separado no texto <quote>Ele entrou em Enfermagem</quote>, mas não corresponder a <quote>em</quote> na palavra <quote>Enfermagem</quote>.</para></listitem> </varlistentry> <varlistentry> -<term -><userinput ->\B</userinput -> (não-limite de palavra)</term> -<listitem -><para ->Corresponde nos locais onde o <quote ->\b</quote -> não faz correspondência.</para> -<para ->Isto significa que ele irá fazer correspondência, por exemplo, dentro de palavras. A expressão <userinput ->\Bem\B</userinput -> irá corresponder a <quote ->sempre</quote -> mas não a <quote ->cem</quote -> ou a <quote ->Estou em casa</quote ->.</para> +<term><userinput>\B</userinput> (não-limite de palavra)</term> +<listitem><para>Corresponde nos locais onde o <quote>\b</quote> não faz correspondência.</para> +<para>Isto significa que ele irá fazer correspondência, por exemplo, dentro de palavras. A expressão <userinput>\Bem\B</userinput> irá corresponder a <quote>sempre</quote> mas não a <quote>cem</quote> ou a <quote>Estou em casa</quote>.</para> </listitem> </varlistentry> <varlistentry> -<term -><userinput ->(?=PADRÃO)</userinput -> (Antevisão positiva)</term> -<listitem -><para ->Uma verificação antecipada olha para a parte do texto a seguir a uma possível correspondência. A antecipação positiva irá evitar que o texto corresponda se o texto que se encontra a seguir a possível correspondência não corresponder ao <emphasis ->PADRÃO</emphasis -> da verificação; o texto correspondente não será incluído no resultado.</para> -<para ->A expressão <userinput ->utilizar(?=\w)</userinput -> irá corresponder a <quote ->utilizar</quote -> em <quote ->utilizarei</quote ->, mas não irá corresponder com <quote ->Não vou utilizar!</quote -></para> +<term><userinput>(?=PADRÃO)</userinput> (Antevisão positiva)</term> +<listitem><para>Uma verificação antecipada olha para a parte do texto a seguir a uma possível correspondência. A antecipação positiva irá evitar que o texto corresponda se o texto que se encontra a seguir a possível correspondência não corresponder ao <emphasis>PADRÃO</emphasis> da verificação; o texto correspondente não será incluído no resultado.</para> +<para>A expressão <userinput>utilizar(?=\w)</userinput> irá corresponder a <quote>utilizar</quote> em <quote>utilizarei</quote>, mas não irá corresponder com <quote>Não vou utilizar!</quote></para> </listitem> </varlistentry> <varlistentry> -<term -><userinput ->(?!PADRÃO)</userinput -> (Antevisão Negativa)</term> - -<listitem -><para ->A antevisão negativa evita que uma possível correspondência seja extraída, se a parte subsequente ao texto procurado corresponder ao <emphasis ->PADRÃO</emphasis ->.</para> -<para ->A expressão <userinput ->const \w+\b(?!\s*&)</userinput -> irá corresponder com o <quote ->const char</quote -> do texto <quote ->const char* ola</quote ->, embora não corresponderá a <quote ->const QString</quote -> em <quote ->const QString& bar</quote -> porque o <quote ->&</quote -> corresponde ao padrão de verificação antecipada negativa.</para> +<term><userinput>(?!PADRÃO)</userinput> (Antevisão Negativa)</term> + +<listitem><para>A antevisão negativa evita que uma possível correspondência seja extraída, se a parte subsequente ao texto procurado corresponder ao <emphasis>PADRÃO</emphasis>.</para> +<para>A expressão <userinput>const \w+\b(?!\s*&)</userinput> irá corresponder com o <quote>const char</quote> do texto <quote>const char* ola</quote>, embora não corresponderá a <quote>const QString</quote> em <quote>const QString& bar</quote> porque o <quote>&</quote> corresponde ao padrão de verificação antecipada negativa.</para> </listitem> </varlistentry> @@ -1207,11 +476,9 @@ compatível com as expressões regulares do Perl, nem com as do <!-- TODO sect1 id="backreferences"> -<title ->Back References</title> +<title>Back References</title> -<para -></para> +<para></para> </sect1 --> |