آموزش کامل Regex (Regular expression) در جاوا اسکریپت

Regex چیست و چرا باید آن را در جاوا اسکریپت یاد بگیریم؟
Regex یا Regular Expressions ابزاری قدرتمند برای جستجو و پردازش متون است که به برنامهنویسان امکان میدهد الگوهای خاصی از کاراکترها را در متون تشخیص دهند. در جاوا اسکریپت، Regex بهویژه برای اعتبارسنجی فرمها، جستجوی کلمات خاص و جایگزینی رشتهها کاربرد زیادی دارد. در این مقاله، گامبهگام با ساختار و نحوه استفاده از Regex در جاوا اسکریپت آشنا میشویم.
مبانی و سینتکس پایه Regex
برای شروع، بیایید با برخی کاراکترها و عملگرهای مهم در Regex آشنا شویم:
.
: نمایانگر هر کاراکتری است.- مثال:
/.a/
به دنبال هر کاراکتری میگردد که پس از آن حرفa
آمده باشد.
- مثال:
^
: نشاندهنده شروع رشته.- مثال:
/^A/
الگوهایی را مییابد که با حرفA
آغاز نشدهاند.
- مثال:
$
: نمایانگر پایان رشته.- مثال:
/t$/
الگوهایی را مییابد که با حرفt
خاتمه یافتهاند.
- مثال:
*
: تکرار صفر یا بیشتر از کاراکتر قبل.- مثال:
/he*/
به دنبالh
و صفر یا چند حرفe
میگردد.
- مثال:
+
: تکرار یک یا بیشتر از کاراکتر قبل.- مثال:
/he+/
به دنبالh
و یک یا چند حرفe
میگردد.
- مثال:
{n,m}
: تکرار بینn
تاm
بار.- مثال:
/A{1,3}/
به دنبالA
بین ۱ تا ۳ بار میگردد.
- مثال:
ایجاد یک Regex ساده در جاوا اسکریپت
در جاوا اسکریپت، میتوانید یک Regex را به دو روش ایجاد کنید:
- استفاده از علامتهای
/
: به این صورتconst regex = /pattern/;
- استفاده از سازنده
RegExp
: به این صورتconst regex = new RegExp("pattern");
آیا میدانید مدرسه فرانت اند پرنیان، دوره فرانت اند از صفر تا صد را بصورت حرفه ای برگزار میکند؟
مثالهای عملی از Regex در جاوا اسکریپت
اعتبارسنجی ایمیل
برای تشخیص الگوی ایمیل، از یک Regex استفاده میکنیم که ساختار کلی آدرس ایمیل را بررسی کند:
const emailRegex = /^[\w.-]+@[a-zA-Z\d.-]+\.[a-zA-Z]{2,6}$/;
const email = "example@example.com";
console.log(emailRegex.test(email)); // true
اعتبارسنجی شماره تلفن
این Regex برای بررسی شماره تلفنهای استاندارد استفاده میشود:
const phoneRegex = /^\d{3}-\d{3}-\d{4}$/;
const phone = "123-456-7890";
console.log(phoneRegex.test(phone)); // true
متدهای اصلی Regex در جاوا اسکریپت
test()
متد test
بررسی میکند که آیا یک الگو در رشتهای وجود دارد یا خیر:
const regex = /hello/;
console.log(regex.test("hello world")); // true
match()
متد match
همه موارد مطابق با الگو را باز میگرداند:
const text = "I have 2 cats and 3 dogs";
const regex = /\d/g;
console.log(text.match(regex)); // ["2", "3"]
replace()
این متد امکان جایگزینی متن براساس یک الگوی خاص را فراهم میکند:
const text = "I love apples";
const newText = text.replace(/apples/, "bananas");
console.log(newText); // "I love bananas"
مفاهیم پیشرفتهتر در Regex
گروهبندی و استفاده از پرانتزها
با استفاده از پرانتز میتوان بخشی از الگو را گروهبندی کرد:
const dateRegex = /(\d{4})-(\d{2})-(\d{2})/;
const date = "2024-11-04";
const result = date.match(dateRegex);
console.log(result[1]); // 2024 (سال)
console.log(result[2]); // 11 (ماه)
console.log(result[3]); // 04 (روز)
تمرینهای کاربردی برای Regex در جاوا اسکریپت
حذف فاصلههای اضافه
const text = "Hello world! ";
const cleanedText = text.replace(/\s+/g, " ").trim();
console.log(cleanedText); // "Hello world!"
تبدیل حروف اول کلمات به حروف بزرگ
const text = "hello world";
const titleCase = text.replace(/\b\w/g, char => char.toUpperCase());
console.log(titleCase); // "Hello World"
یادگیری و استفاده از Regex در جاوا اسکریپت میتواند به شما کمک کند تا الگوهای متنی پیچیده را بهراحتی جستجو و پردازش کنید. امیدواریم که این آموزش جامع، راهنمای خوبی برای استفاده بهتر از Regex باشد.
امیدواریم از این مقاله آموزش کامل Regex (Regular expression) در جاوا اسکریپت نهایت استفاده را برده باشید و آن را با دوستانتان به اشتراک بگذارید. تیم تولید محتوای مدرسه اینترنتی پرنیان این مقاله را تهیه کرده است.
درباره مدیریت
شما در حال مطالعه یکی از مقالات آموزشی وبلاگ پرنیان بودید. اگر برایتان مفید بود آن را با دوستانتان به اشتراک بگذارید. من پارسا قربانیان و اینجا مدرسه فرانت اند پرنیان، میخواهیم در یک معامله برد برد، با هم به آرزوهایمان برسیم..
نوشته های بیشتر از مدیریت
دیدگاهتان را بنویسید