RegExp Objects

در جاوااسکریپت، RegExp Object برای کار با Regular Expressions (عبارات منظم) استفاده میشه.
این شیء متدها و ویژگی‌هایی داره که به ما اجازه می‌ده الگوهای متنی رو جستجو و پردازش کنیم.

🔹 ساخت RegExp Object

دو روش برای ساخت وجود داره:

1. با استفاده از لیترال (Literal Syntax)

let regex1 = /hello/i;

2. با استفاده از سازنده (Constructor)

let regex2 = new RegExp("hello", "i");
  • "hello" → الگو (Pattern)

  • "i" → پرچم (Flag)

🔹 متدهای اصلی RegExp Objects

1. test()

بررسی می‌کنه آیا الگو در رشته وجود داره یا نه. (برمی‌گردونه true یا false)

let regex = /world/i; console.log(regex.test("Hello World")); // true

2. exec()

اولین تطبیق (match) رو برمی‌گردونه به صورت آرایه، یا null اگر پیدا نشه.

let regex = /o/; console.log(regex.exec("Hello"));

📌 خروجی:

["o", index: 4, input: "Hello", groups: undefined]

🔹 ویژگی‌های مهم RegExp Objects

1. lastIndex

موقعیت بعدی برای شروع جستجو (وقتی از پرچم g یا y استفاده می‌کنیم).

let regex = /o/g; let text = "Hello World"; console.log(regex.exec(text)); // "o" در index 4 console.log(regex.lastIndex); // 5

2. source

الگوی اصلی رو به صورت رشته برمی‌گردونه.

let regex = /hello/i; console.log(regex.source); // "hello"

3. flags

لیست پرچم‌های استفاده‌شده رو نشون میده.

let regex = /hello/gi; console.log(regex.flags); // "gi"

🔹 استفاده در String Methods

بعضی از متدهای String با RegExp کار می‌کنن:

  • match()

  • replace()

  • search()

  • split()

let text = "I love cats and dogs"; console.log(text.match(/cats|dogs/g)); // ["cats","dogs"]

✅ خلاصه

  • RegExp Object با /.../ یا new RegExp() ساخته میشه.

  • متدهای مهم: test() و exec().

  • ویژگی‌های مهم: lastIndex, source, flags.

  • متدهای String مثل match(), replace() و split() می‌تونن از RegExp استفاده کنن.