کداکسپلور | CodeExplore
7.91K subscribers
1.96K photos
314 videos
103 files
1.74K links
با کد اکسپلور یاد بگیر، لذت ببر و بروز باش ⚡️😉

سایت کد‌اکسپلور:
CodeExplore.ir
👨🏻‍💻 ارتباط با ما :
@CodeExploreSup
گروه :
@CodeExplore_Gap
تبلیغات در کد اکسپلور :
@CodeExploreAds
Download Telegram
9️⃣ آموزش ریجکس (regex) (عبارت های با قاعده) ☺️ - قسمت نهم (قسمت پایانی)

امروز آخرین مورد رو در ریجکس کار میکنیم و شما را به خدای بزرگ میسپاریم 🤩

❤️ باز مث همیشه متن زیر رو در نظر بگیرید:

pen: 1 rial
drug: 2 rial
paper: 3 rial
cake: 4 £
car: 5 $


🧠 خب ، ما قراره از متن بالا، اعدادی رو پیدا کنیم که بعدشون ریال باشه. در گام اول همچین ریجکسی به ذهنتون میرسه :

/\d+ rial/img

1 rial, 2 rial, 3 rial


خب الان مشکل ما حل شد ، اما اگر دقت کنید ، عباراتی که برگردوند ، همراه خودشون rial رو هم داره. اگه ما فقط نیاز به اعداد داشته باشیم باید چیکار کنیم؟
اینجاست که ریجکس یه نماد دیگه رو معرفی میکنه برای حل مشکل و اون نماد اینه: (=?)
قبل از توضیح بزارید ریجکسشو بنویسم:
/\d+(?= rial)/img

1, 2, 3


🏠 الان متوجه شدید که با این روش، دیگه rial توی عبارات پیدا شده نمایان نمیشه. در واقع ریجکس بالا به فارسی میشه این : اعدادی رو پیدا کن که قبل از rial وجود داشته باشن.

حالا فرض کنید میخوایم اعدادی رو بدست بیاریم که بعدشون rial نباشه (فقط میدونیم بعدشون ریال نیست ، و ممکنه هرچیزی بعدشون باشه)

🔔 برای اینکار از نماد (!?) استفاده میکنیم ، که دقیقا معکوس نماد بالا عمل میکنه. باز ریجکسشو مینویسم و بعد توضیح میدم :

/\d(?! rial)/img

4, 5


🥸 به زبان فارسی، ریجکس بالا یعنی دنبال اعدادی بگرد که قبل از rial نباشن.


⛔️ این دو نمادی که گفتم ، برای ادامه جمله است ، پس هیچ وقت اول ریجکس نوشته نمیشه!

⚫️ دوتا نماد دیگه هم داریم که دقیقا مثل همین دوتا نماد بالا کار میکنن، اما برای بررسی کلمه قبلی هستن (یعنی چک میکنن فلان چیز قبل عبارت ما اومده یا نه)

بیاید متنو یه تغییری بدیم و اینارم تست کنیم :

13 05 1381
17 02 1380
22 03 1386
11 11 1380


❗️ با توجه به متن بالا، ما چندین تاریخ تولد داریم؛ ما میخوایم فقط اعداد ماه تولد رو بدست بیاریم (اعداد وسط)
پس اگه بخوایم فارسی ریجکس بنویسیم میگیم: دنبال اعدادی 2 رقمی بگرد که قبلشون یه عدد 2 رقمی دیگه باشه.
ریجکسش میشه این:

/(?<=\d{2} )\d{2} /img

05 , 02 , 03 , 11


💡 نماد بالا به این صورته : (=<?) و مقادیر شما باید دقیقا بعد از = قراره بگیره!

نماد بعدی هم به این صورته : (!>?) که معنی فارسیش میشه ، دنبال چیز بگرد که بعد از فلان چیز قرار نگرفته باشه!

برای این مثال نمیزنم و میخوام خودتون توی کامنت یه متن و یه ریجکس بنویسید که از نماد آخری استفاده کنه 😬


آموزش ریجکس ما همینجا به پایان میرسه 😱
روز خوبی داشته باشید و برای یادگیری تمرین کنید :)


من بازم 2 تا سایت قبلی رو معرفی میکنم
که میتونید با جفتش ریجکس رو یاد بگیرید و تمرین کنید :

site 1
site 2


#regex #regular_expression
#regex_9 #regex_end
☕️ @CodeExplore
Please open Telegram to view this post
VIEW IN TELEGRAM
7❤‍🔥4🔥4