Expressões Regulares em Ruby

06set07

Expressões regulares são uma verdadeira “mão na roda” para qualquer desenvolvedor. Seja para editar código-fonte ou para facilitar alguma tarefa repetitiva de uma aplicação, esse recurso está sempre presente.

Até algum tempo atrás, achava que expressões regulares eram grego. Mas minha curiosidade não me deixou em paz e resolvi aprender sobre o assunto. Para minha surpresa, expressões regulares são bem fáceis de aprender.

Ruby faz ótimo uso das expressões regulares. Em Ruby, uma expressão regular (ou pattern, ou padrão) é delimitada por barras (“/”), da seguinte maneira: /^\w{8,15}$/ (que significa: permitir apenas letras, números e underscores. No mínimo 8 e no máximo 15 caracteres).

Vamos agora à alguns exemplos práticos.

Para verificar se uma dada cadeia de caracteres está de acordo com uma expressão regular, podemos fazer o seguinte:


string_exemplo = "Teste de RegExp"
if string_exemplo.match( /^\w{8,15}$/ )
  puts "String aceita!"
end

Ou utilizando o operador =~, que retorna a posição a partir da qual uma cadeia “bate” com a expressão regular. Isso é útil quando queremos verificar a validade de uma cadeia dentro de outra maior:


"Ligue para (99) 0000-0000" =~ /[(]\d{2}[)]\s*\d{4}-\d{4}/  #retorna 11

*Nota: não consegui utilizar a tag especial de código-fonte do WordPress nos dois exemplos acima pois ela está cheia de bugs e não renderiza coisas como <,> e \.

Podemos, também, substituir subcadeias:

s = "Bola"  
s.gsub!(/[aeiou]/,"*") #altera o proprio objeto
puts s  #imprime B*l*

Recursos interessantes para consulta:

Cheat Sheet

http://www.regex.pro.br/wiki/Home

Biblioteca de expressões regulares

About these ads


3 comentários em “Expressões Regulares em Ruby”


  1. 1 » O Poder das Expressões Regulares | Igor Escobar // Blog | Desenvolvimento, Tecnologia e Informação, na ponta do lápis.
  2. 2 O Poder das Expressões Regulares - Parte 2 | Igor Escobar // Blog
  3. 3 Expressões Regulares: Use! « Igor Escobar // Blog | Desenvolvimento, Tecnologia e Informação, na ponta do lápis.

Deixe uma resposta

Preencha os seus dados abaixo ou clique em um ícone para log in:

WordPress.com Logo

Você está comentando usando sua conta WordPress.com. Sair / Mudar )

Imagem do Twitter

Você está comentando usando sua conta Twitter. Sair / Mudar )

Foto do Facebook

Você está comentando usando sua conta Facebook. Sair / Mudar )

Conectando a %s


Seguir

Obtenha todo post novo entregue na sua caixa de entrada.

%d bloggers like this: