آموزش regular expressions – کلاس های کاراکتری

در آموزش قبلی یه نگاه کلی به عبارات با قاعده انداختیم و یک سری قواعد رو به صورت سریع توضیح دادیم , اگه نمیدونید regular expressions چیه اول پست قبلی رو از اینجا(کلیک کنید) بخونید و بعد دوباره به همین پست برگردید.

در عبارات با قاعده یک سری دستورات داریم با نام character classes یا کلاس های کاراکتری که لیست اونا به صورت زیر است:

  • کلاس . : (نقطه) علامت . در عبارات با قاعده می تواند با هر کاراکتری به جز کاراکتر خط جدید(new line) تطابق کند.
  • کلاس w\ : (دبلیو کوچیک) با حروف الفبای انگلیسی , اعداد و حرف _ مطابقت میکند.
  • کلاس W\ : (دبلیو بزرگ) با هرچیزی به غیر از w\ (مورد قبلی)مطابقت میکند.
  • کلاس d\ : با اعداد ۰ تا ۹ مطابقت میکند.
  • کلاس D\ : با هرچیزی به غیر از d\ مطابقت میکند.
  • کلاس s\ : با فضای سفید (فضای خالی یا whitespace) مطابقت میکند مثلا فشرده شدن کلید space صفحه کلید یا tab روی صفحه کلید فضای خالی ایجاد میکند که با استفاده از s\ میتونید فضاهای خالی رو پیدا کنید.
  • کلاس S\ : با هرچیزی که s\ نباشد تطبیق میکند(هرچیزی که فضای خالی نباشد).

کلاس های کاراکتری که با حروف کوچیک هستن نات (not) شده ی همان کلاس کاراکتری با حروف بزرگ هستند! مثلا کلاس کاراکتری d\ رو اگه not کنیم به D\ تبدیل میشه , همونطور که در آموزش قبلی گفتیم با استفاده از ^ که درون [] قرار گرفته میتونید عمل not کردن رو انجام بدید پس [D\^] برابر با d\ است 😀 همچنین برای کلاس های دیگه هم این قانون برقراره. به همین راحتی میشه Regex رو یاد گرفت و درک کرد.

شما میتونید معادل کلاس های کاراکتری رو با استفاده از [] نیز ایجاد کنید مثلا کلاس کاراکتری w\ به حروف انگلیسی و اعداد اشاره و _ اشاره میکنه که میتونیم اون رو به صورت [_a-zA-z1-9] بنویسیم. همچنین اگه اون رو not کنیم به W\ تبدیل میشه , برای نات کردن کافیه از ^ استفاده کنیم که به صورت [_a-zA-z1-9^] در میاد.

اگه بخواید کلاس کاراکتری رو به صورت محدود تر در بیارید میتونید از [] استفاده کنید , مثلا من فقط تطبیق با حروف a و b و z رو نیاز دارم میتونم به صورت [abz] بنویسم (بدون فاصله و ویرگول) اگه خط تیره – استفاده کنم به صورت بازه تبدیل میشه مثلا اگه حروف m تا x رو بخوام میتونم به صورت [m-x] بنویسم. حالا اگه حروف j تا z و ۳ تا ۸ رو بخوام میشه به صورت [j-z3-8] بنویسم 😀 به همین راحتی!

دوستان عزیز همیشه میتونید از regexr برای تست کردن عبارات با قاعده (regular expressions) استفاده کنید و حالشو ببرید 😀

امیدوارم که از این اموزش لذت برده باشید. برای دیدن لیست اموزش های regex میتونید همیشه به اینجا(کلیک کنید) مراجعه کنید. و همچنین اگه سوال یا مشکلی داشتید میتونید از فرم نظرات پایین همین پست مطرح کنید تا پاسخ بدم. موفق و پیروز باشید.

به اشتراک بگذارید:Email this to someoneShare on FacebookTweet about this on TwitterShare on Google+Digg thisShare on LinkedInPin on PinterestShare on StumbleUponFlattr the authorShare on RedditBuffer this pageShare on TumblrPrint this pageShare on YummlyShare on VK

می‌خواهید دیدگاهتان را بیان کنید؟