Utilizando expressões regulares para validar endereço IP no Delphi XE

Umas das novidades no Delphi XE e o suporte a expressões regulares (unit RegularExpressions) na RTL, esse recursos nos permite fazer diversos tipos de validações, abaixo um exemplo de como utilizar este recurso para validar se o valor em uma string é realmente um endereço IP.

program RegExpIP;

{$APPTYPE CONSOLE}

uses
  SysUtils,
  RegularExpressions;

var
 ipRegExp : String;
begin
  try

    ipRegExp := '\b(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\.(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\.(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\.(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\b';

  if TRegEx.IsMatch(paramstr(1), ipRegExp) then
    Writeln('Text DOES match the regular expression')
  else
    Writeln('Text DOES NOT match the regular expression');

  except
    on E: Exception do
      Writeln(E.ClassName, ': ', E.Message);
  end;
end.

Para validar basta executar o programa e passar como parâmetro o endereço IP

Neste caso o IP é válido
RegExpIP 200.100.2.21
Text DOES match the regular expression

Neste caso o IP não é valido, pois 263 está fora do intervalo permitido
RegExpIP 200.100.2.263
Text DOES match the regular expression

No repositório de exemplos do RAD Studio você pode encontrar um exemplo com outros tipos de expressões regulares.

Faça o download da versão trial do Delphi XE aqui

3 respostas
  1. Angel Holberg
    Angel Holberg says:

    Bueno nuevamente yo aprovechando que me descidi a hacer comentarios, quisa no este dentro del tema pero mensionaré a una herramienta muy valiosa el uso de Hash Maps, seria interesante agregarán a este lenguaje de manera nativa como lo hace Java el uso de Hash Maps que de grandes apuros nos saca, actualmente utilizo los componentes JVCL para su uso y me funsionan de maravilla comentando que este tipo de haseo se basa en la nomenclatura llave valor, el valor puede ser una cadena o bién el almacenamiento de objetos.

    Responder
  2. Angel Holberg
    Angel Holberg says:

    Y añadiendo otro y último comentario el uso de anotaciones que en Delphi 2010 se empezo a utilizar, espero cuando pruebe la nueva version de Delphi XE
    me de la sorpresa de un mejor desarrollen esta parte que corresponde a las anotaciones, aunque para ser sinceros estaría mejor aún si se incorporara ya la funcionalidad de un ORM como por ejemplo algo parecido a Hibernate o las JPA de Java, mensiono estos dos ORM’s de Java por la similititud en el termino ANOTACIONES con Delphi

    Responder

Trackbacks & Pingbacks

  1. […] This post was mentioned on Twitter by Embarcadero Tech, Andreano Lanusse. Andreano Lanusse said: Blog post: Utilizando expressões regulares para validar endereço IP no Delphi XE http://bit.ly/akyZwU […]

Deixe uma resposta

Want to join the discussion?
Feel free to contribute!

Deixe uma resposta

O seu endereço de e-mail não será publicado. Campos obrigatórios são marcados com *


Esse site utiliza o Akismet para reduzir spam. Aprenda como seus dados de comentários são processados.