[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