[SP-pm] [offtopic] Regex e subpatterns no SED

Luis Motta Campos luismottacampos at yahoo.co.uk
Tue Aug 19 07:03:53 PDT 2008


caio ariede wrote:
> Bom dia.
> 
> Eu já RTFM antes de perguntar, e sei que \1 e \9 são referências ao que
> foi capturado (back references), o que é diferente de subpatterns.
> 
> Um exemplo da diferença, seria:
> 
> ([0-9]+):\1 casa: 11 22 33 44 55 66 77 88 99
> ([0-9]+):(?1) casaria: 12 13 14... 21 22.. 31 32..

É um dialeto de regexps que eu não domino, mas vou me arriscar.
O que você precisa são /negative/ /look-ahead/ /assertions/: o segundo
token tem de ser um dígito, mas não pode ser igual ao dígito que foi
encontrado antes. Em perl:

/\B(\d)(!?\1)\d\b/

Lamento, a POSIX.2 (e consequentemente o sed) não implementa isso.

Acho que este é um /feature/ exclusivo do Perl. :)
Putamplexos.
-- 
Luis Motta Campos is a software engineer,
Perl Programmer, foodie and photographer.


More information about the SaoPaulo-pm mailing list