O pacotão de funções para lidar com ERs nos programas em C
tem duas versões: o regex original de 1986 do Henry Spencer, atualizado ( ftp://ftp.zoo.toronto.edu/%2f/pub/regex.shar) e o rx da GNU ( http://www.gnu.org/directory/rx.html). Essas bibliotecas são "plug'n'play", basta incluir o diretório com os fontes de seu programa, sem maiores traumas.
Para java
tem o jakarta regexp ( http://jakarta.apache.org/regexp), um pacote completo feito pela equipe de desenvolvimento do apache.
E para C++
tem a biblioteca Regexx ( http://bazar.conectiva.com.br/~niemeyer/projects/regexx) que é uma solução completa com execução, busca, substituição, divisão e fácil acesso aos textos casados.