قراره تو این دوره چی یاد بگیرم؟

  • یادگیری ساختار و عبارات با قاعده
  • استفاده از تکرار کننده یا repeater ها
  • گروه بندی و ثبت و ارجاع داده های استخراج شده
  • کلاس های کاراکتر برای تعیین سریع الگوی مد نظر
  • نحوه جایگزینی در عبارات با قاعده بدون حذف داده ها
  • انجام مثال های مختلف برای استخراج یا احراز داده
  • استخراج داده با شرط خاص قبل و بعد از الگو

سرفصل های دوره

۱ فصل
۱۷ جلسه
۴ ساعت
۱

لیست ویدئوهای دوره

۱۷ قسمت
۰۴:۰۴:۰۲
1

درباره عبارات با قاعده یا RegEx

پخش
۱۰:۰۵
2

تطبیق اولیه خود کلمه در متن

۰۹:۳۷
3

مجموعه مشخص از کاراکترها

۱۰:۱۵
4

دامنه مشخص از کاراکترها یا اعداد

۱۴:۱۵
5

تکرارکننده ها یا Repeaters

۲۰:۱۷
6

تعیین تعداد مشخص، حداقل یا حداکثر کاراکتر

۰۹:۱۷
7

خنثی کردن کاراکترهای خاص

۱۶:۴۳
8

کلاس های کاراکتری در عبارات با قاعده

۱۲:۵۶
9

نشانگر شروع و پایان خط با ^ و $

۱۹:۱۵
10

استفاده از | (پایپ)

۰۴:۱۶
11

گروه بندی در عبارات با قاعده

۱۱:۵۲
12

ثبت داده های گروه یا Group Capture

۲۳:۰۵
13

ارجاع به داده ضبط شده یا backreference

۱۸:۴۳
14

شرط برای انتخاب یک الگو یا Lookaround

۱۳:۲۵
15

عملیات جایگزینی یا replace با RegEx

۱۰:۵۱
16

چند مثال از استخراج داده ها از متن

۱۸:۴۳
17

معرفی سایر امکانات سایت RegEx101

۲۰:۲۷

سلام دوستان عزیز! من حامد مودی هستم و خوشحال هستم که با دوره آموزش regex با شما همراه هستم. در این دوره قصد داریم تا با مبانی RegEx یا Regular Expression (یا همان عبارات با قاعده)، یکی از ابزارهای بسیار کاربردی در برنامه‌نویسی، آشنا شویم و به بررسی مثال‌ها و کاربردهای عملی آن بپردازیم. دوره آموزش RegEx برای همه برنامه‌نویسانی که به دنبال یادگیری این ابزار هستند طراحی شده و به شما کمک می‌کند تا از این ابزار قدرتمند در پروژه‌های مختلف استفاده کنید.

اهمیت دوره آموزش RegEx چیست؟

Regular Expression یا به اختصار RegEx، یک ابزار بسیار قدرتمند برای جستجو و تطبیق الگوها در متن است. این ابزار در بسیاری از زبان‌های برنامه‌نویسی مانند PHP ، Python ، JavaScript و غیره مورد استفاده قرار می‌گیرد و در موقعیت‌های مختلف از اعتبارسنجی داده‌ها تا فیلتر کردن اطلاعات به کار می‌رود. RegEx نیاز ضروری هر برنامه نویس است که این امکان را می دهد که به صورت دقیق الگوهای خاص در متن مثل شماره تلفن، شماره کارت، ایمیل و … را از متن استخراج، جایگزین یا تغییر یا فیلتر کند.

در این دوره چه می آموزیم؟

در این دوره، شما با مبانی و اصول اولیه RegEx آشنا خواهید شد. ابتدا به بررسی الگوهای ساده و نحوه استفاده از علائم مختلف می‌پردازیم تا بتوانید به راحتی با این ابزار کار کنید. سپس، با نحوه تطبیق و فیلتر داده‌ها آشنا می‌شوید؛ این قابلیت به شما اجازه می‌دهد داده‌های خاصی را از میان متون بزرگ، بر اساس اعداد، حروف و کاراکترهای خاص جستجو کنید.

در ادامه، به سراغ ساختارهای پیچیده‌تر می‌رویم. شما یاد می‌گیرید چگونه با استفاده از RegEx، ساختارهایی مانند ایمیل‌ها، تاریخ‌ها و شماره کارت‌های بانکی را شناسایی و اعتبارسنجی کنید. این بخش از دوره بسیار کاربردی است و در پروژه‌های مختلف، مفاهیم آن را به کار خواهید گرفت. همچنین، در طول دوره مثال‌های عملی متنوع از الگوهای ساده تا پیچیده ارائه می‌شود تا شما به صورت گام‌به‌گام به مهارت‌های لازم مسلط شوید.

به صورت کلی، مباحثی که در دوره آموزش regex به آنها پرداخته خواهد شد شامل:

  • آشنایی با عبارات با قاعده و کاربرد و اهمیت آن
  • آشنایی با انواع علائم مورد استفاده در RegEx
  • جستجوی انواع مختلف واژه‌ها، کلمات یا ساختارها مثل شماره همراه، ایمیل، شماره کارت و … در متن
  • جایگزینی هوشمند داده‌ها به صورت یکباره و بدون تغییر در داده‌ها
  • استخراج داده‌ها با الگوی خاص از داخل یک متن
  • نحوه اعتبارسنجی داده

دلیل ارائه این دوره

دوره آموزش regex در واقع یکی از فصل‌های جداشده از دوره جامع PHP است که در سایت دانشجویار ارائه می‌شود. به دلیل درخواست‌های زیاد و کاربرد فراوان RegEx در برنامه‌نویسی، تصمیم گرفتیم این فصل را به صورت جداگانه برای برنامه‌نویسان علاقه‌مند به این موضوع منتشر کنیم.

این دوره برای چه کسانی مناسب است؟

این دوره برای تمام برنامه نویسان فارغ از هر زبانی لازم و ضروری است. اگر برای یافتن و جستجوی کلمات یا عبارات و یا جایگزین کردن آنها به دنبال نوشتن یک کد بهینه و سریع هستید، یادگیری اصول RegEx الزامی است. علاوه بر آن، این دوره برای افرادی که در حوزه داده کاوی فعالیت میکنند نیز مفید است.

محتوای دوره

  1. درباره عبارات با قاعده یا RegEx
  2. تطبیق اولیه خود کلمه در متن
  3. مجموعه مشخص از کاراکترها
  4. دامنه مشخص از کاراکترها یا اعداد
  5. تکرارکننده ها یا Repeaters
  6. تعیین تعداد مشخص، حداقل یا حداکثر کاراکتر
  7. خنثی کردن کاراکترهای خاص
  8. کلاس های کاراکتری در عبارات با قاعده
  9. نشانگر شروع و پایان خط با ^ و $
  10. استفاده از | (پایپ)
  11. گروه بندی در عبارات با قاعده
  12. ثبت داده های گروه یا Group Capture
  13. ارجاع به داده ضبط شده یا backreference
  14. شرط برای انتخاب یک الگو یا Lookaround
  15. عملیات جایگزینی یا replace با RegEx
  16. معرفی سایر امکانات سایت RegEx101

مزایای این دوره نسبت به سایر دوره‌های مشابه

  • جامع و کاربردی: تمام مباحث مهم و کاربردی Regular Expression را پوشش می‌دهد.
  • حل مثال‌های عملی: در هر بخش، مثال‌های عملی متعددی را با همدیگر حل خواهیم کرد.
  • پشتیبانی: دوره آموزش regex شامل پشتیبانی و راهنمایی برای حل مشکلات احتمالی شما در طول یادگیری است.

RegEx یا Regular Expression چیست؟

عبارات با قاعده یا Regular Expression (RegEx)، ابزاری برای جستجو و تطبیق الگوها در متن است که به ما این امکان را می‌دهد که به سادگی تمام عبارات از داخل متن که الگوهای مشخصی مثل شماره تلفن، شماره کارت و … دارند را استخراج کرده، تغییر دهیم یا روی آن پردازش انجام دهیم.

از RegEx می‌توان برای تأیید و اعتبارسنجی الگوهای خاص مثل ایمیل، شماره همراه، شماره کارت، کد ملی و … در ورودی کاربر استفاده کرد. به عنوان مثال، در یک متن می‌توانیم خیلی راحت تمام ایمیل‌های کاربران را به تفکیک استخراج کنیم و برای آنها ایمیل تبلیغاتی ارسال کنیم. یا شماره تلفن های یک سایت را استخراج و ذخیره کرده و یا اینکه هر شماره کارتی که کاربر در متن دیدگاه‌ها ارسال کرده را تشخیص و به جای نمایش کامل، آن را ستاره دار نمایش دهیم. و کلی کارهای جالب دیگر مثل تبدیل تمام تاریخ های میلادی به شمسی در داخل متن، لینک کردن شناسه کاربری که داخل متن منشن شده و …

RegEx در بسیاری از زبان‌های برنامه‌نویسی مانند PHP، Python، JavaScript و غیره پشتیبانی می‌شود و به دلیل قدرت و انعطاف‌پذیری بالا، به یکی از ابزارهای ضروری برای برنامه‌نویسان تبدیل شده است.

کارکردهای عبارات با قاعده:

کارکردهای Regex
  • جستجوی پیشرفته داخل متن و یافتن الگوهای پیچیده در متن
  • استخراج داده و اطلاعات خاص از متن‌های بزرگ که ساختار مشخصی ندارند در علم داده
  • تبدیل داده و جایگزینی، مثلا تبدیل فرمت‌های تمام تاریخ‌های داخل متن بدون از بین رفتن روز، ماه و سال
  • اعتبارسنجی داده‌های کاربر مثل ایمیل، شماره تلفن، پسورد، کد ملی و …
  • پردازش متن‌های سنگین و حذف یا جایگزین الگوهای خاص داخل متن
  • در بحث امنیت تشخیص الگوهای کدهای مخرب و تحلیل لاگ‌ها

دلایل یادگیری عبارات با قاعده

شاید از خود بپرسید که چرا باید عبارات باقاعده را یاد بگیریم؟ دلایل بسیاری وجود دارد. اولاً، این ابزار به شما امکان می‌دهد تا به‌طور کارآمدتر با داده‌های متنی کار کنید. ثانیاً، آموزش regex یا عبارات با قاعده می‌تواند باعث صرفه‌جویی در زمان شما شود، زیرا می‌توانید کارهای پیچیده‌ای مانند اعتبارسنجی و تجزیه داده‌ها را با استفاده از یک خط کد انجام دهید.

این نکته را نیز در نظر داشته باشید که بدون عبارات با قاعده هم این کارها شدنی است اما نیازمند نوشتن کد زیاد و پردازش سنگین توسط زبان برنامه نویسی و حوصله سر بر است که استفاده از عبارات با قاعده گزینه به مراتب سریع، بهتر و منعطف تری است.

اصول پایه عبارات با قاعده

برای یادگیری عبارات باقاعده، ابتدا باید با اصول و قوانین اولیه آن آشنا شوید. این اصول شامل متا کاراکترها، کاراکترهای ویژه و برخی نمادهای مهم است که به شما کمک می‌کند الگوهای خود را به‌درستی تعریف کنید.

  • متا کاراکترها:
    متا کاراکترها نقش مهمی در عبارات با قاعده دارند. این کاراکترها به شما امکان می‌دهند که به‌راحتی الگوهایی پیچیده‌تر بسازید. برای مثال، کاراکترهایی مانند .، * و + از جمله متا کاراکترهای رایج هستند.
  • کاراکترهای ویژه:
    کاراکترهای ویژه مانند \d برای شناسایی اعداد، \w برای شناسایی کاراکترهای متنی و \s برای شناسایی فضاهای خالی، نقش بسیار مهمی در ساخت الگوهای دقیق‌تر دارند.

RegEx ابزاری قدرتمند است که به شما امکان می‌دهد تا الگوهای متنی پیچیده را با کمترین زحمت شناسایی و پردازش کنید. یادگیری این ابزار برای هر برنامه‌نویسی که با داده‌های متنی سر و کار دارد، ضروری است.

با ثبت نظرات، انتقادات و پیشنهادات خود در مورد دوره آموزش regex در بخش دیدگاه‌ها، ما را در راستای بهبود کیفیت خدماتمان یاری کنید.

سوالات متداول

در این دوره با چه زبان برنامه نویسی کار شده؟

این دوره مفاهیم و مبانی RegEx را مستقل از زبان برنامه نویسی بررسی می کند، پس برای هر برنامه نویسی برای هر زبانی این دوره لازم و ضروری است.

کلا عبارات با قاعده یا RegEx نیازه یاد بگیریم؟

برای یه برنامه نویسی که ادعای حرفه ای بودن دارن قطعا نیازه والا برای بعضی جاها باید ده ها یا صدها خط کد بیهوده بزنه در صورتیکه میتونست با چند خط کوتاه و با RegEx مشکل رو حل کنه

چرا این دوره از 12 شروع شده؟

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