Regular Expressions چیست ؟


عبارات منظم (Regular Expressions) وسیله ای را برای برنامه نویسان فراهم می کنند که بتوان به کمک آنها عبارات ، کلمه ها و الگوها ی مورد نظر را در یک رشته متنی (String) پیدا کرد.



Regular Expressions  دارای یک سری سینتکس های مربوط به خود است که به کمک آن می توان تنها با نوشتن یک خط کد، یک رشته ی بزرگ متنی  را تحلیل و جستجو کرد در حالی که اگر از روشهای دیگری استفاده می کردیم به احتمال خیلی زیاد از یک خط تجاوز می کرد . و این سادگی و در عین حال کارایی بالای این روش را می رساند .


Regular Expressions  محدود به یک زبان خاص نیست و اکثر زبانهای برنامه نویسی این امکان را درون خود قرار داده اند . عبارات منظم  توسط یک پردازنده که درون  زبان برنامه نویسی وجود دارد  تفسیر (interpret) می شوند .


عبارات منظم  استفاده های زیادی در برنامه های کاربردی مختلف دارد . توسط بسیاری از ادیتورها (Text Editor) برای انجام اعمال مختلف بر  روی رشته ها مورد استفاده قرار می گیرد . همچنین در بعضی از زبانهای برنامه نویسی نیز از موتور Regular Expressions استفاده می شود (نظیر Perl,Ruby,TCL) 


اصل Regular Expressions  بر روی  نظریه ماشینها و نظریه زبانهای صوری تکیه دارد .


جدول زیر نمونه ای از سینتکس های Regular Expressoins می باشد .



[]

range specificication (e.g., [a-z] means a letter in the range a to z)

\w

word character; same as [0-9A-Za-z_]

\W

non-word character

\s

space character; same as [ \t\n\r\f]

\S

non-space character

\d

digit character; same as [0-9]

\D

non-digit character

\b

backspace (0x08) (only if in a range specification)

\b

word boundary (if not in a range specification)

\B

non-word boundary

*

zero or more repetitions of the preceding

+

one or more repetitions of the preceding

{m,n}

at least m and at most n repetitions of the preceding

?

at most one repetition of the preceding; same as {0,1}

|

either preceding or next expression may match

()

grouping


منابع