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 Responses to “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:

Logotipo do WordPress.com

Você está comentando utilizando sua conta WordPress.com. Sair / Alterar )

Imagem do Twitter

Você está comentando utilizando sua conta Twitter. Sair / Alterar )

Foto do Facebook

Você está comentando utilizando sua conta Facebook. Sair / Alterar )

Foto do Google+

Você está comentando utilizando sua conta Google+. Sair / Alterar )

Conectando a %s


Seguir

Obtenha todo post novo entregue na sua caixa de entrada.

%d blogueiros gostam disto: