Expressões regulares
Segunda-feira, 16 de Janeiro de 2006 21:35
Estive ontem a desenferrujar um pouco o meu conhecimento de expressões regulares com umas brincadeiras em PHP e cheguei à conclusão que excluir uma palavra é mais complicado do que parece.
Tomando como exemplo a expressão regular abcde[^fghi]*jklmn:
- O texto “abcdejklmn” valida positivamente
- O texto “abcdefjklmn” não passa na expressão regular
- O texto “abcdefghijklmn” também não passa
O meu problema é entre o 2ª e o 3ª caso. Como ei de fazer se pretender que a comparação falhe para as sequências “fghi” que possam surgir mas não falhe se surgir qualquer dos caracteres “f”, “g”, “h”ou “i” isoladamente?
Aceitam-se sugestões; mais um pouco a investigar o assunto sem sucesso e acabo por recorrer a substrings encadeados para resolver a questão :| Feio… mas funcional.

