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

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

☹️ بزارید تو قسمت اول یکم با خود regex و تاریخچش آشنا بشیم و اصلا ببینیم چه کاربردی داره و به چه کارمون میاد!

🫀 تاریخچه ریجکس: پیدایش ریجکس در واقع از ریاضیات گرفته شده و ریشه اون در برنامه نویسی به سال 1986 بر میگرده که یه شخصی مثل من و شما توی ویرایشگر متنی QED همچین جستجوی متنی رو پیاده سازی کرد 😀

👻حالا اصلا ریجکس واقعا چیه؟ ریجکس یک زبان یا فریمورک یا یه کتابخونه وابسته به زبان نیست! بلکه یک تکنولوژی و سینتکس ثابته که توی اکثر زبان های برنامه نویسی قابل استفاده است.

👽 کاربرد عمو ریجکس (شایدم عمه!) چیه؟ نمیدونم چقدر با متن ها توی برنامه نویسی سر کار داشتید اما ممکنه زمانی یه متن طولانی داشته باشید و بخواید یه چیزی رو ازش پیدا کنید.
شاید الان بگید توابع آماده برای پیدا کردن کلمه وجود داره! ولی بعضی وقتا ما دنبال یه کلمه ثابت نیستیم! بزارید یه مثال ریز بزنم تا متوجه بشید 🐱

سلام من امیر هستم . شماره من 09112345678 است و همچنین شماره دوستمم 09112345050 است. من دوستمو خیلی دوست دارم ، اسمش ریجکسه!

توی متن بالا ، اگه بخوایم شماره تلفن ها رو در بیاریم باید چیکار کنیم؟ آفرین ، کاربرد ریجکس دقیقا همینجا نمایان میشه !
همونجوری که توی عنوان هم نوشتم، Regex به فارسی میشه عبارت منظم ، یعنی اگه بخواید توی رشته (متن) دنبال بخش های منظم بگردید که از الگوی خاصی پیروی میکنن ، میتونید از regex استفاده کنید 🐱

همچنین کاربرد ریجکس فقط توی پیدا کردن نیست ، یه زمانی ما میخوایم چیزایی که پیدا کردیم رو با یه چیز دیگه جایگزین کنیم ، مثلا تو همین مثال بالا اگه فردی همچین نظری رو توی سایتمون ثبت کرد ما نمیخوایم همینجوری نمایش داده بشه بلکه میخوایم شماره های تلفن با *** جایگزین بشن ، پس بازم ریجکس میتونه بهمون کمک کنه 👁

به صورت کلی هدف عمو ریجکس اینه که به صورت پیشرفته بتونیم داخل متنمون بگردیم و عبارتی که الگو ثابتی داره رو پیدا کنیم 🫠
عبارت منظم یک گروه از کارکترها یا نمادهاست که برای پیدا کردن یک الگوی مشخص در یک متن به کار گرفته می شود.

⬅️ ادامه در پست بعدی
#regex #regular_expression
#regex_1 #regex_start
☕️ @CodeExplore
Please open Telegram to view this post
VIEW IN TELEGRAM
16❤‍🔥7🔥5
😮 خب یه سوالی رو ممکنه بپرسید و بگید آیا regex سخته ؟ منم خیلی ساده میگم هرچیزی سختی خودشو داره ! اما اگه تمرین کنید و خوب یاد بگیرید ریجکس خیلی ساده و منظمه! مثل ریاضی! که شاید بخاطر آموزش نادرست برای خیلیا غول به نظر بیاد و برای خیلیا شیرین و راحت 🤡
من که میگم ریجکس ایزی پیزیه (easy peasy lemon squeezy)


تا یادم نرفته اینم بگم که توی زبان های برنامه نویسی تقریبا استفادش به یک صورته و فقط اسم توابع یا بکارگیریش فرق داره (مثل استفاده JSON در زبان های مختلف میمونه)
چنتا از استفاده هاشم توی زبان های مختلف این زیر میزارم :

$str = "Our Channel is CodeExplore";
$pattern = "/CodeExplore/"; // Regex
echo preg_match_all($pattern, $str);


⌨️ توی زبانی مثل php باید regex خودمون رو بین دوتا / قرار بدیم و با تابع preg_match_all عبارت های خودمون رو پیدا کنیم .

let str = "Our Channel is CodeExplore";
let pattern = "/CodeExplore/" // Regex
console.log(str.search(pattern))
// OR
let arr = [...str.matchAll(/CodeExplore/g)]
console.log(arr)



⌨️ توی جاوا اسکریپت هم مثل php باید بین دوتا / قرار بدیم ولی برای پیدا کردن از تابع search میتونیم استفاده کنیم و برای پارامترش بهش ریجکس پاس بدیم (همچنین روش درستش استفاده از matchAll هست برای پیدا کردن تمامی عبارت ها)

import re
str = "Our Channel is CodeExplore";
pattern = r"CodeExplore" # Regex
x = re.search(pattern, str)
print(x)


⌨️ توی پایتون هم که میبینید استفادش به این صورته و نیازی به / اول و آخرم نداره (کلا پایتون شُل کرده! البته بهتره قبلش یه r بزارید تا متوجه بشه regex)


این پست رو همینجا به پایان میرسونم تا خسته نشید، در پست بعدی با خود ریجکس آشنا میشیم و دیپ تر میشیم 🍸

😀همچنین زیر همین پست کامنت بزارید که برای آموزش دوست دارید روی چه زبانی برنامه نویسی تست انجام بشه (با اینکه خیلی از موارد آموزش هیچ ربطی به زبان استفاده شده نداره)

روز خوبی داشته باشید 🔋

#regex #regular_expression
#regex_1 #regex_start
☕️ @CodeExplore
Please open Telegram to view this post
VIEW IN TELEGRAM
14🔥7❤‍🔥5