m-khorsandi
جمعه 19 شهریور 1389, 00:06 صبح
يكی از ويژگیهای جديد دلفی XE، پشتيبانی RTL از عبارات با قاعده است.(يونيت ReqularExpression). عبارات با قاعده ابزاری است برای تطابق رشتههایی از متن مانند كاراكترهای خاص، كلمات يا الگوهایی از كاراكترها.
مثال زير استفاده از عبارات با قاعده برای تصديق درستی يك آدرس 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;
برنامه را اجرا كنيد و يك آدرس IP به عنوان پارامتر با آن ارسال كنيد :
RegExpIP 200.100.2.21
خروجی:
Text DOES match the regular expression
يا اجرای زير:
RegExpIP 200.100.2.263
خروجی:
Text DOES NOT match the regular expression
در اجرای دوم، آدرس IP با عدد 263 خاتمه پيدا كرده كه خارج از محدودهی 255 است.
منبع : Using regular expressions to validate IP address with Delphi XE (http://www.andreanolanusse.com/blogen/using-regular-expressions-to-validate-ip-address-with-delphi-xe)
مثال زير استفاده از عبارات با قاعده برای تصديق درستی يك آدرس 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;
برنامه را اجرا كنيد و يك آدرس IP به عنوان پارامتر با آن ارسال كنيد :
RegExpIP 200.100.2.21
خروجی:
Text DOES match the regular expression
يا اجرای زير:
RegExpIP 200.100.2.263
خروجی:
Text DOES NOT match the regular expression
در اجرای دوم، آدرس IP با عدد 263 خاتمه پيدا كرده كه خارج از محدودهی 255 است.
منبع : Using regular expressions to validate IP address with Delphi XE (http://www.andreanolanusse.com/blogen/using-regular-expressions-to-validate-ip-address-with-delphi-xe)