فرشته بودم

فرشته بودم

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

فرشته بودم

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

regex

regular expression

عبارات با قاعده یا regex (مخفف Regular expression) دستوراتی هستند که با استفاده از اونا میتونید به جستجوی یک زیرمتن (زیر رشته) در یک متن دیگه بپردازید. در این سری آموزش سعی میکنم عبارات با قاعده در PHP رو به شما دوستان عزیز به صورت عملی اموزش بدم.

برای استفاده از Regex در PHP شما باید مراحل زیر رو طی کنید:

  1. نوشتن یک Regex با توجه به نیاز خودتون (در ادامه اصول پایه رو بهتون یاد میدم)
  2. اجرای Regex نوشته شده توسط توابعی که در PHP در نظر گرفته شدن 

دوستان عزیز در اینجا اصول پایه برای نوشتن عبارات با قاعده رو توضیح میدم اما در پست های بعدی به اموزش مباحث بیشتری میپردازیم.

برای نوشتن regex یک سری حروف و علامت هایی(الگوها) وجود داره که باید اونا رو یاد داشته باشید. این علامت ها هر کدوم با رشته(متن) یا کلمه یا حروف الفبا و یا اعداد مطالبقت میکنه! مثلا شما برای اینکه بررسی کنید توی متن شما عدد هست یا نه میتونید از d\ استفاده کنید. یک سری از این علامت ها(الگوها) به صورت زیر هستند:

  1. علامت ^ : این علامت به ابتدای رشته (متن) اشاره میکنه و اگه این علامت رو استفاده کنید یعنی اینکه اول متن باید با علامتی که بعد از ^ قرار گرفته مطابقت داشته باشه.
  2. علامت $ : این علامت به انتهای رشته (متن) اشاره میکنه بدین صورت که اگه از این علامت استفاده کنید یعنی علامتی که قبل از $ قرار گرفته باید با انتهای متن مطابقت کنه.
  3. علامت [] : یک کلاس کاراکتر ایجاد میکند (گروه کاراکتر) کاراکترها و علامت هایی که درون [] قرار بگیرن به عنوان یک کلاس در نظر گرفته میشن.
  4. علامت ^ درون [] : این علامت کلاس کاراکتر را نات میکند(not) مثل not منطقی توی همه ی زبان های برنامه نویسی.
  5. علامت () : یک گروه کاراکتر ایجاد میکند , کاراکترهایی که درون () قرار بگیرن به عنوان یک گروه کاراکتر در نظر گرفته میشن.
  6. علامت | : برای or کردن استفاده میشه , مثلا میتونید چندتا عبارات با قاعده رو با هم or کنید. (or به معنی یا است).
  7. علامت + : به معنای تکرار یک تا بیشمار است (حداقل یک تکرار و حداکثر بی شمار تکرار) , کاراکتری که قبل از + قرار بگیره با تعداد یک یا بیشمار از همان کاراکتر مطابقت میکنه.
  8. علامت * : به معنای تکرار صفر تا بی شمار است (حداقل صفر تکرار و حداکثر بی شمار تکرار) , کاراکتری که قبل از * قرار بگیره با تعداد یک یا بیشمار از همان کاراکتر مطابقت میکنه.
  9. علامت {} : برای ایجاد شمارنده استفاده میشه. دوتا مقدار میتونه بگیره که یکی حداقل تعداد و یکی حداکثر تعداد رو مشخص میکنه و این دو مقدار با ویرگول از هم جدا میشن مثلا به صورت {5,15} که به معنای تکرار 5 تا 15 است! کاراکتر یا علامتی که قبل از {} قرار بگیره به تعدادی که مشخص کردیم تکرار خواهد شد. اگه عدد دوم رو وارد نکنید مثلا {,5} به معنای تکرار حداقل 5 تا بی نهایت است. (عدد دوم رو میشه نذاشت تا حالت تکرار بی نهایت ایجاد بشه ولی عدد اول رو حتما باید درج کرد).
  10. علامت \ : به عنوان کاراکتر فرار استفاده میشه مثلا اگه بخواید خود علامت ^ رو درون متن جستوجو کنید در حالت عادی امکانش نیست چون ^ جزو دستورات Regex در نظر گرفته میشه! اما میشه از ^\ استفاده کرد(ترکیب \ و ^) , که باعث میشه کاراکتر ^ به عنوان دستورات Regex در نظر گرفته نشه و توی متن جستوجو بشه.
  11. علامت . : (نقطه) این علامت با یک کاراکتر (عددی و متنی) تطبیق میکنه مثلا a.b میتونه هر کلمه ی 3 حرفی باشه که بین حرف a و b میتونه عدد یا کاراکتر انگلیسی دیگه قرار بگیره. مثلا acb یا a9b یا a0b یا akb یا …
  12. علامت w\ : (دبلیو کوچیک) به این علامت کلاس کاراکتری گفته میشه و به حروف انگلیسی a تا z (بزرگ و کوچک) و اعداد و حرف _ اشاره میکنه.
  13. علامت W\ : (دبلیو بزرگ) به این علامت کلاس غیر کاراکتری گفته میشه (دقیقا برعکس مورد قبلی) که به هرچیزی غیر از حروف انگلیسی و اعداد و حرف _ اشاره میکنه.
  14. علامت d\ : به این علامت کلاس عددی گفته میشه که به اعداد 0 تا 9 اشاره میکنه
  15. علامت D\ : به این علامت کلاس غیر عددی گفته میشه که به هرچیزی غیر عددی اشاره میکنه.
  16. منبع 
نظرات 0 + ارسال نظر
امکان ثبت نظر جدید برای این مطلب وجود ندارد.