PDA

View Full Version : عبارات با قاعده در دلفی XE



m-khorsandi
پنج شنبه 18 شهریور 1389, 23: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)