Featured Post

Como criar macros no Xcode

Acho que não deve ter um usuário do Xcode que não seja fã do code completion dele. Funciona maravilhosamente bem e é surpreendente a produtividade que ele proporciona ao desenvolvedor. Já utilizei diversas IDEs com este tipo de recurso, mas o Xcode conseguiu inovar e trazer uma forma mais interessante...

Read More

Expressões regulares no Objective C

Posted by Marcelo Baltar | Posted in biblioteca, cocoa | Posted on 19-08-2009

Tags:, , , ,

0

regexExpressões regulares são uma ferramenta essencial para todo desenvolvedor. Se sua aplicação precisa fazer validações, parsing ou qualquer manipulação com strings, com certeza você pode se beneficiar muito utilizando-a.

O problema é que (ainda, espero!) não existe nenhuma classe/biblioteca no Cocoa que nos permita utilizar expressões regulares em toda sua plenitude. A classe NSPredicate faz alguma coisa, mas é ainda limitada. O jeito então é utilizarmos bibliotecas de terceiros.

Uma boa biblioteca para aplicações para o iPhone é a RegexKitLite. Ela possui um footprint baixo (16KB a 20KB), o que a torna ótima para um dispositivo móvel com restrições de recursos. Um problema com esta implementação é que ela linka com uma biblioteca que a Apple ainda não liberou uma interface pública oficial (libicucore.dylib), como apontado em sua própria documentação. Existe uma chance que isto venha a acontecer no futuro, como mostra esta mensagem na lista de mensagens da Apple para o Xcode. Outra vantagem desde projeto é que ele possui uma excelente documentação, que pode inclusive ser incluída no Help do Xcode.

Existem outras alternativas:

Veja também o excelente artigo “8 Regular Expressions You Should Know” para alguns usos muito úteis de expressões regulares.