[Cascavel-pm] REGEXP com [^
Fernando
fernandolouis em terra.com.br
Quarta Junho 24 13:11:35 PDT 2009
Pessoal, na verdade essas expressões estendidas não aceitam quantificadores, certo?
----- Original Message -----
From: Fernando
To: Cascavel Perl Mongers
Sent: Wednesday, June 24, 2009 4:04 PM
Subject: Re: [Cascavel-pm] REGEXP com [^
Pessoal, voltando ao post...
Não posso utilizar o "\w+" nessas expressões estendidas?
Por exemplo, se eu fizer assim, funciona:
(?<!palavra)
e assim não:
(?<!\w+)
[]s,
Fernando
----- Original Message -----
From: Gilmar Santos Jr
To: Cascavel Perl Mongers
Sent: Thursday, June 18, 2009 4:11 PM
Subject: Re: [Cascavel-pm] REGEXP com [^
Eu sempre usei essas opções sem o x... ?<! é um "negative zero-width lookbehind", aí tem o ?< (positive zero-width lookbehind), ?= (positive zero-width lookahead) e ?! (negative zero-width lookahead). O "zero-width" quer dizer que vc não 'consome' (nem captura) os caracteres, como num match padrão.. muito útil :)
[]'s
Gilmar
2009/6/18 Fernando <fernandolouis em terra.com.br>
Perfeito, funcionou! Obrigado!
Isso é uma expressão constante estendida, certo?
Para usá-lo não tenho que usar o modificador "x"?
No livro "Perl - Guia Completo" fala sobre as expressões constantes estendidas, mas em nenhum momento fala dessa opção que você citou Gilmar.
Achei que esse gui fosse realmente "completo".
[]s,
Fernando
----- Original Message -----
From: Gilmar Santos Jr
To: Cascavel Perl Mongers
Sent: Thursday, June 18, 2009 3:02 PM
Subject: Re: [Cascavel-pm] REGEXP com [^
Não testado:
/(?<!certificado)\d+/
http://perldoc.perl.org/perlreref.html
[]'s
Gilmar
2009/6/18 Fernando <fernandolouis em terra.com.br>
Pessoal, não consigo achar a REGEXP que reconhece qual caracterer numérico desde que antes não tenha a palavra-exata "certificado"
tentei:
/[^(certificado)]\d+/
só que isto também reconhece:
identidade 17 (porque tem o caracter "e" e depois um número)
utilizei os pararêntes achando que o Perl iria interpretar o "certificado" como uma palavra inteira.
Mas dessa forma ele verifica se antes do número não tenha qualquer um dos seguintes caracteres: "c", "e", "r", "t", "i", "f", "i", "c", "a", "d" ou "o"
Quero utilizar o "[^" para reconhecer qualquer coisa diferente de uma palavra-exata e não de determinados caracteres um-a-um.
isso:
/[^(certificado)]\d+/
é a mesma coisa que:
/[^odacifitrec]\d+/ # certificado escrito de trás pra frente
o que eu quero é a palavra-exata:
/certificado/
e não:
/c|e|r|t|i|f|i|c|a|d|o/
só que com o "[^" para reconhecer tudo que for diferente dessa palavra-exata.
Im clear? ;)
[]s,
Fernando
_______________________________________________
Cascavel-pm mailing list
Cascavel-pm em pm.org
http://mail.pm.org/mailman/listinfo/cascavel-pm
------------------------------------------------------------------------
_______________________________________________
Cascavel-pm mailing list
Cascavel-pm em pm.org
http://mail.pm.org/mailman/listinfo/cascavel-pm
_______________________________________________
Cascavel-pm mailing list
Cascavel-pm em pm.org
http://mail.pm.org/mailman/listinfo/cascavel-pm
----------------------------------------------------------------------------
_______________________________________________
Cascavel-pm mailing list
Cascavel-pm em pm.org
http://mail.pm.org/mailman/listinfo/cascavel-pm
------------------------------------------------------------------------------
_______________________________________________
Cascavel-pm mailing list
Cascavel-pm em pm.org
http://mail.pm.org/mailman/listinfo/cascavel-pm
-------------- Próxima Parte ----------
Um anexo em HTML foi limpo...
URL: <http://mail.pm.org/pipermail/cascavel-pm/attachments/20090624/9121aa2c/attachment-0001.html>
Mais detalhes sobre a lista de discussão Cascavel-pm