2 de janeiro de 2006

Expressão Regular

Ainda são poucos os desenvolvedores que utilizam o poder das expressões regulares, é comum encontrarmos códigos com "zilhões" de IFs que poderiam ser resolvidos com apenas uma linha de expressão regular.

E eu diria que a maioria dos que usam expressões regulares se limitam a validações de CNPJ, E-mail, etc. O uso de expressão regular pode melhorar muito a segurança de aplicações, como nos exemplos a seguir:

Expressão regular contra Sql Injection
"(script)|(<)|(>)|(%3c)|(%3e)|(SELECT) |(UPDATE) |(INSERT) |(DELETE)|(GRANT) |(REVOKE)|(UNION)|(<)|(>)"

Expressão para requerimento de senha complexa (passfilt)
"(?=^.{8,255}$)((?=.*\d)(?=.*[A-Z])(?=.*[a-z])|(?=.*\d)(?=.*[^A-Za-z0-9])
(?=.*[a-z])|(?=.*[^A-Za-z0-9])(?=.*[A-Z])(?=.*[a-z])|(?=.*\d)
(?=.*[A-Z])(?=.*[^A-Za-z0-9]))^.*"

Muita coisa ainda pode ser feito com expressões regulares, análise de logs, assinatura para detecção de ataques. Recomendo uma pesquisa sobre expressões regulares.

No site Regular Expression Library você encontra muitos exemplos.
http://www.regexlib.com/

Um comentário:

Anonymous disse...

Muito bom o conteúdo desta matéria, e ainda mais quando ela é explicada pessoalmente =)