Regular Expressions دارای یک سری سینتکس های مربوط به خود است که به کمک آن می توان تنها با نوشتن یک خط کد، یک رشته ی بزرگ متنی را تحلیل و جستجو کرد در حالی که اگر از روشهای دیگری استفاده می کردیم به احتمال خیلی زیاد از یک خط تجاوز می کرد . و این سادگی و در عین حال کارایی بالای این روش را می رسان.د
Regular Expressions محدود به یک زبان خاص نیست و اکثر زبانهای برنامه نویسی این امکان را درون خود قرار داده اند . عبارات منظم توسط یک پردازنده که درون زبان برنامه نویسی وجود دارد تفسیر(interpret) می شوند .عبارات منظم استفاده های زیادی در برنامه های کاربردی مختلف دارد . توسط بسیاری از ادیتورها (Text Editor) برای انجام اعمال مختلف بر روی رشته ها مورد استفاده قرار می گیرد . همچنین در بعضی از زبانهای برنامه نویسی نیز از موتور Regular Expressions استفاده می شود نظیر Perl, Ruby, TCL.
اصل Regular Expressions بر روی نظریه ماشینها و نظریه زبانهای صوری تکیه دارد که به طور خلاصه به چند مورد اشاره می کنیم:
: این علامت نشان دهنده or است . به عنوان مثال grayوgrey هر دو معنای خاکستری را می دهند. می توان نوشت : graygrey و یا به صورت gr(ae)y
? : این علامت نشان دهنده آن است که کاراکتری که قبل از آن قرار گرفته است می تواند وجود داشته باشد یا نداشته باشد. به عنوان مثال : colou?r متواند به دو صورت "color" و "colour". بیاید.
* : بعد از هر کاراکتری که قرار بگیر آن کاراکتر می تواند از صفر تا بینهایت بار تکرار شود . به عنوان مثال : ab*c را می توان نوشت : "ac", "abc", "abbc", "abbbc"و به همین صورت ادامه خواهد داشت.
+ : بعد از هر کاراکتری قرار گیرید آن کاراکتر حتما باید حداقل یک بار تکرار شود. به عنوان مثال : ab+c به صورت "abc", "abbc", "abbbc" ایجاد می شود . ایجاد "ac". اشتباه خواهد بود .
[] : نشان دهنده یک محدوده است . به عنوان مثال برای نشان دادن تمام حروف انگلیسی می نویسیم : [a-z] یا برای نشان دادن تمام حروف بزرگ و کوچک و اعداد می نویسم : [0-9A-Za-z]
() : برای گروه بندی استفاده می شودو به همین ترتیب .جدول زیر نمونه ای از سینتکس های Regular Expressions می باشد .

يك مثال ساده از Regular expression كه چك مي كند آيا رشته ورودي تماما عدد است يا تماما حرف:
10 using System.Text.RegularExpressions;
11 ...
12 const string ALL_NUMERIC_PATTERN = "[a-zA-Z]";
13 static readonly Regex All_Numeric_Regex =
14 new Regex (ALL_NUMERIC_PATTERN);
15 static bool AllNumeric ( string inputString )
16 {
17 if (All_Numeric_Regex.IsMatch ( inputString ))
18 {
19 return false;
20 }
21 return true;
}
سلام ممنون از لطفتون
پاسخ دادنحذف