readme.md
document.pdf
image.png
music.mp4
manual.pdf
اگه بخوایم اسم تمامی فایل های pdf رو در بیارم باید چیکار کنیم؟ میدونیم که با استفاده از w/ میتونیم تمامی حروف و اعداد رو استخراج کنیم ، پس میدونیم داخل ریجکسمون w/ رو داریم! اما باید خدمتتون عرض کنم که برای مشخص کردن نقطه (.) نمیتونیم از خود نقطه استفاده کنیم
چرا ؟ چون علامت نقطه (.) توی ریجکس به معنای همه کارکترهاست (یعنی تمامی حروف، اعداد، علامت ها و کلا هرچیزی که بنویسید) برای اینکه از خود نقطه بتونیم استفاده کنیم باید از .\ استفاده کنیم که یه کارکتر کنترلیه دیگه داخل ریجکسه
پس ریجکسمون میشه این:
/\w+\.pdf/img
document.pdf, manual.pdf
متن زیر رو در نظر بگیرید :
numbers: 09112345656 09126787 0912567622
09118174522 676232323
12345678998
/09\w{9}/img
09112345656, 09118174522
برای حل این مشکل با یه دسته کارکتر دیگه به نام d\ آشنا میشیم (مخفف digit) که فقط اعداد رو قبول میکنه (یعنی فقط 0 تا 9) ، حالا با استفاده از این دسته کارکتر میتونید مطمئن باشید که دیگه 09abcdefgoi رو قبول نمیکنه
/09\d{9}/img
بیاید متنمو تغییر بدیم به یه چیز ساده :
aim amm aom arm azm
ما میخوایم توی متن ، دنبال عبارت هایی بگردیم که اولشون a داشته باشه ، آخرشون m داشته باشه و بین a و m حرف z باشه و یا o.
برای نوشتن ریجکس این مثال باید عملگر دیگه ایی رو هم مورد بررسی قرار بدیم و اون عملگر [] عه
ما با استفاده از عملگر براکت میتونیم یه بخش مجزا ایجاد کنیم (مجموعه کارکتر - Character Set)، برای درک بهتر ریجکس متن بالا رو مینوسیم:
/a[zo]m/g
aom, azm
(
/a(z|o)m/g
aom, azm
پرانتز در ریجکس به معنیه گروپ بندیه که در آموزش های بعدی مفصل تر در موردش صحبت میکنیم (ولی فعلا فرض کنید دقیقا مثل براکت عمل میکنه)، و علامت | (پایپ) هم معنیه "یا" رو میده (که احتمالا در برنامه نویسی ازش خبر دارید)
آموزش امروزمونم تموم شد
بهتون تمرین میگم که توی کامنت برام جوابشو بنویسید (با هوش خودتون و چیزایی که از اینجا یاد گرفتید (کسایی که از قبل بلدن لطفا پاسخگو نباشن
beer deer feer
#regex #regular_expression
#regex_5
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥17❤🔥2⚡2