عبارات با قاعده (Regular Expressions) - قسمت دوم

دلیل نیاز به Regular Expression :
Regular Expression که به اختصار RegEx نامیده می شوند ، نمادهایی هستند که مانند هر ابزار دیگری برای بر طرف کردن نیازی اختراع شده اند ، به طور مثال اعتبار سنجی آدرس ایمیل ، جستجو در یک متن و ... .
یکی از مواردی که در بیشتر پروژه ها با آن نیاز خواهیم داشت بحث Regular Expression ها می باشد .

Reqular-Expressions

در بخش اول آموزش عبارات با قاعده با کاراکتر " . " (نقطه ) که با هر کاراکتری مطابقت میکند آشنا شدیم .

در این بخش قصد داریم با متا کاراکتر ها "[ " , " ] " , " ^ "  آشنا شویم .

متا کاراکتر های [ , ] :

هر کاراکتری بین این دو کاراکتر قرار بگیرد به عنوان کاراکتر مجاز شناخته می شود و قابل انتخاب شدن می باشد . متا کاراکترهای فوق مجموعه ای از کاراکترها را تعریف میکند  که تنها یکی از آنها  می تواند به عنوان کاراکتر بعدی ظاهر شود.

[abcd] :
عبارت فوق یکی از کاراکتر های abcd را به عنوان کاراکتری که می تواند ظاهر شود را انتخاب می کند.

فرض کنید لیستی از اسم فایل هایی به صورت زیر داریم :

sa.txt , na.txt , ba.txt ,ys.txt , ui.txt


می خواهیم اسم تمام فایل هایی را انتخاب کنیم که کاراکتر اول آنها یکی از دو حرف s و n باشد . برای اینکار باید از متا کاراکترهای [,]  استفاده کنیم به صورت زیر :

[ns]\.txt


متن :

This Aticle About regex or REGEX
 

 اگر بخواهیم تمام regex ها را در متن بالا  انتخاب کنیم از عبارت زیر استفاده می کنیم :

[Rr][Ee][Gg][Ee][Xx]


[Rr]:
یکی از حروف r یا R تطبیق می دهد .
[0123456789] :
از بین اعداد 0 تا 9 یکی از آنها را تطبیق می دهد .


[abcdefghijklmnopqrstuvwxyz]:
تمامی حروف بین a تا z را تطبیق می دهد .


متاکاراکتر "- " ( خط تیره ) :
این متا کاراکتر برای تعیین محدود استفاده می شود و باعث کوتاه شدن عبارات با قاعده می شود .


[0-9] : تمام اعداد بین 0 تا 9 را تطبیق می دهد . و همان کار عبارت [0123456789] را انجام می دهد .
[A-Z] : تمامی حروف بین A تا Z  را تطبیق می دهد .


برای استفاده از کاراکتر - خارج از متا کاراکترهای ]  و [  باید آن را Escape کرد و به صورت -\ نوشت .


می توان بیش از یک عدد - در بین کاراکتر های ]  و [ به کار برد .


[a-zA-Z0-9] :
عبارت بالا معال

[abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789]

می باشد .


متا کاراکتر  ^ :
اگر بخواهیم لیست از کارکتر های  غیر مجاز را تعریف کنیم که نباید استفاده شوند از این متا کاراکتر استفاده می کنیم .


الگوی [9-0] اعدا بین 0 تا 9 را تطبیق می دهد و الگوی [9-0^]  هر کاراکتری بجز اعدا 0 تا 9 را تطبیق می دهد .


الگویی که فقط شماره هایی را قبول کند که کد آنها 021 یا 026 باشد :

02[16]


الگویی برای کد رنگ RGB :

#[a-zA-Z0-9][a-zA-Z0-9][a-zA-Z0-9][a-zA-Z0-9][a-zA-Z0-9][a-zA-Z0-9]

کد رنگ RGB به صورت 6 کاراکتری می باشد که با # شروع می شود  و حساس به حروف کوچک و بزرگ نمی باشد ، مثال :

#Ffba45 ,  #1245FF  , #FFFFFF , #0000FF

 


توسط : عثمان رحیمی  3 ماه قبل ، شنبه 8 شهریور 1393 ساعت 18:33  0  2700

نظر شما برای ما مهم است و به ما در بهبود سایت کمک میکند.


ارسال نظر
  • نام (اختیاری ) :
  • پست الکترونیک :
  • توضیحات :

مطالب مرتبط