Quantcast
Channel: Andreano Lanusse | Tecnologia e Desenvolvimento de Software » RTL
Viewing all articles
Browse latest Browse all 3

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

$
0
0

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

Andreano Lanusse | Tecnologia e Desenvolvimento de Software
Siga-me no Twitter: @andreanolanusse


Viewing all articles
Browse latest Browse all 3

Latest Images

Trending Articles



Latest Images