آموزش regex، معایب و مزایا و همه نکات کاربردی

رتبه: 0 ار 0 رای sssss
رجکس
نویسنده: تیم تولید محتوا زمان مطالعه 5 دقیقه
Banner Image

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

Regex یا Regular Expression چیست؟

Regex به منظور سرچ استفاده می شود یعنی کار اصلی آن جستجو است تمامی کارهایی که توسط Regex انجام می شود برمبانی سرچ یا واکشی (fetch) است خود کلمه واکشی به معنی جستجو است. Regex به شما این امکان رو میده که براساس یک Pattern خاص عمل جستجو را یا مطابقت دادن یک فیلد را انجام دهید ویرایشگری مانند ++Notepad از Regext به مظور سرچ و Replace استفاده می کند. Regex به منظور فیلتر کردن نیز می تواند مورد استفاده قرار گیرد.

مزیت های Regex معایب Regex
1- ذخیره کردن زمان برای شما در بیشتر مواقع

2- سادگی دستوری

3- کاربردی بودن

4- عمل واکشی یا جستجو را در کسری از ثانیه انجام میدهند.

5- در جاهای که مقدار تگ ها متفاوتی وجود داشته باشد مثل Xml و Html برای واکشی کردن مورد استفاده قرار می گیرد.

6- یک خط Regex می تواند با 100 خط کد برای واکشی جایگزین شود !

7- ساده ترین روش برای برش (Trim) و چسباندن (concatenation) است

8- برای برنامه نویسان مبتدی که زیاد با کد نویسی آشنا نیستند مورد استفاد قرار می گیرد.

9- خطای کمتر نسبت به کد سفارشی

10-Regex به زبان محاوره خارجی بسیار نزدیک است.

11- عمل parse کردن را در بدترین شرایط انجام میدهد.

1- تنبل کننده ذهن برنامه نویس

2- نداشتن راه حلی برای مطابقت پسورد

3- Regex به Write only معروف است یعنی نمی توانید خودتان آن را توسعه دهید بلکه فقط می تواند از متودهای از پیش تعریف شده آن استفاده کنید.

4-Regex فقط برای متن است.

5- سختی در خواندن Regex به گفته برخی چون باید یک Dictionary مربوط به آن را حفظ کنید.

کاربردهای regex

1- اعتبارسنجی داده : برای نمونه آیا یک رشته زمانی به درستی ترکیب یافته است یا نه.

2- کاوش داده : به خصوص وب اسکرپینگ که در آن همه صفحه‌هایی که شامل مجموعه خاص از کلمات هستند در نهایت با ترتیب خاصی پیدا می‌شوند.

3- دستکاری داده‌ها : تبدیل داده از قالب خام به یک قالب دیگر.

4- تجزیه متن : برای نمونه گردآوری همه پارامترهای GET در URL و دریافت یک متن که درون یک مجموعه از پرانتزها قرار دارد.

5- جایگزینی رشته : برای نمونه در زمان کدنویسی در یک IDE برای ترجمه کلاس جاوا به سی شارپ در شیء JSON متناظر باید (;) با (,) جایگزین شوند، به حالت حروف کوچک درآید و hc اعلان نوع خودداری شود.

6- هایلایت کردن ساختار، تغییر دادن نام فایل‌ها، بررسی بسته‌ها و بسیاری کاربردهای دیگر که با رشته‌ها سرور کار دارند و داده‌ها باید متنی باشد، همگی با استفاده از regex قابل اجرا هستند.

آموزش ویدیویی و مفاهیم مهم

۱. مفاهیم پایه‌ای رجکس

  • رجکس چیست؟ رجکس یک الگوی متنی است که برای جستجو، تطبیق و دستکاری رشته‌ها استفاده می‌شود. این الگوها از کاراکترها و نمادهای خاص تشکیل شده‌اند.

  • کاربردهای رجکس:

    • اعتبارسنجی فرم‌ها (مانند ایمیل، شماره تلفن).

    • جستجو و جایگزینی متن.

    • تجزیه و تحلیل داده‌های متنی.

۲. ساختار اصلی رجکس

  • الگوی ساده: یک الگوی ساده می‌تواند یک کلمه یا عبارت باشد. مثال: الگوی hello با رشته hello world تطبیق می‌کند.

  • کاراکترهای خاص: رجکس از کاراکترهای خاص برای ایجاد الگوهای پیچیده‌تر استفاده می‌کند. مثال: . (هر کاراکتر)، * (تکرار صفر یا بیشتر)، + (تکرار یک یا بیشتر).

۳. کاراکترهای خاص رجکس

الف. کاراکترهای تطبیق

  • . : هر کاراکتر به جز خط جدید. مثال: a.c با abc، aac، adc تطبیق می‌کند.

  • \d : هر رقم (معادل [0-9]). مثال: \d\d با 12، 45 تطبیق می‌کند.

  • \w : هر کاراکتر الفبایی، عددی یا زیرخط (معادل [a-zA-Z0-9_]). مثال: \w\w با ab، A1 تطبیق می‌کند.

  • \s : هر فضای خالی (فاصله، تب، خط جدید). مثال: a\sb با a b تطبیق می‌کند.

ب. کاراکترهای تکرار

  • * : صفر یا بیشتر از کاراکتر قبلی. مثال: a* با ""، a، aa تطبیق می‌کند.

  • + : یک یا بیشتر از کاراکتر قبلی. مثال: a+ با a، aa تطبیق می‌کند.

  • ? : صفر یا یک بار از کاراکتر قبلی. مثال: a? با ""، a تطبیق می‌کند.

  • {n} : دقیقاً n بار از کاراکتر قبلی. مثال: a{3} با aaa تطبیق می‌کند.

  • {n,} : حداقل n بار از کاراکتر قبلی. مثال: a{2,} با aa، aaa تطبیق می‌کند.

  • {n,m} : بین n تا m بار از کاراکتر قبلی. مثال: a{2,4} با aa، aaa، aaaa تطبیق می‌کند.

ج. کاراکترهای گروه‌بندی

  • [] : تطبیق با هر یک از کاراکترهای داخل براکت. مثال: [abc] با a، b، c تطبیق می‌کند.

  • [^] : تطبیق با هر کاراکتر به جز کاراکترهای داخل براکت. مثال: [^abc] با d، 1 تطبیق می‌کند.

  • () : گروه‌بندی بخشی از الگو. مثال: (abc)+ با abc، abcabc تطبیق می‌کند.

د. کاراکترهای جایگاه

  • ^ : شروع رشته. مثال: ^abc با abcdef تطبیق می‌کند.

  • $ : پایان رشته. مثال: abc$ با xyzabc تطبیق می‌کند.

  • \b : مرز کلمه. مثال: \bcat\b با cat در The cat is here تطبیق می‌کند.

۴. مثال‌های کاربردی رجکس

الف. اعتبارسنجی ایمیل

^[a-zA-Z0-9._%+-]+@[a-zA-Z0-9.-]+\.[a-zA-Z]{2,}$
  • ^[a-zA-Z0-9._%+-]+: بخش قبل از @ (نام کاربری).

  • @[a-zA-Z0-9.-]+: بخش دامنه.

  • \.[a-zA-Z]{2,}$: بخش پسوند دامنه (مانند .com).

ب. اعتبارسنجی شماره تلفن

^\+?\d{1,3}[-.\s]?\(?\d{1,4}\)?[-.\s]?\d{1,4}[-.\s]?\d{1,9}$
  • ^\+?: کد کشور (اختیاری).

  • \d{1,3}: کد منطقه.

  • [-.\s]?: جداکننده‌های اختیاری.

  • \(?\d{1,4}\)?: کد منطقه داخل پرانتز (اختیاری).

  • \d{1,9}: شماره تلفن.

ج. جستجوی تاریخ

^\d{4}-\d{2}-\d{2}$
  • \d{4}: سال (چهار رقم).

  • \d{2}: ماه و روز (دو رقم).

۵. استفاده از رجکس در زبان‌های برنامه‌نویسی

الف. جاوااسکریپت

let regex = /hello/;
let str = "hello world";
console.log(regex.test(str)); // true

ب. پایتون

import re
regex = r"hello"
str = "hello world"
print(re.search(regex, str)) # <re.Match object; span=(0, 5), match='hello'>

ج. PHP

$regex = "/hello/";
$str = "hello world";
echo preg_match($regex, $str); // 1

از پیج عرفان مولا:

دانلود آموزش Regex در یک ساعت

حتما در کنار این مطلب دانلود کنید: آموزش صفر تا صد برنامه نویسی (رایگان)

profile name
تیم تولید محتوا

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

مطالب پیشنهادی برای شما

محصولات مرتبط

مشاهده همه
آموزش پایتون صفر تا صد (پکیج 2)
آموزش پایتون صفر تا صد (پکیج 2)
قیمت محصول 450,000 تومان 490,000
ادامه مطلب
صفر تا صد آموزش HTML & CSS به زبان ساده
صفر تا صد آموزش HTML & CSS به زبان ساده
قیمت محصول 45٪ 149,000 تومان 269,000
ادامه مطلب
آموزش برنامه نویسی سی پلاس پلاس
آموزش برنامه نویسی سی پلاس پلاس
قیمت محصول 80٪ 70,000 تومان 350,000
ادامه مطلب

دیدگاهتان را بنویسید

1 2 3 4 5

0 نظر درباره «آموزش regex، معایب و مزایا و همه نکات کاربردی»

    هنوز نظری برای این بخش ثبت نشده است
مشاهده همه نظرات
سبد خرید
سبد خرید شما خالی است
× جهت نصب روی دکمه زیر در گوشی کلیک نمائید
آی او اس
سپس در مرحله بعد برروی دکمه "Add To Home Screen" کلیک نمائید