RegExp Patterns

در جاوااسکریپت، RegExp Patterns یا "الگوهای عبارات منظم" مجموعه‌ای از قواعد و کاراکترهای ویژه هستن که برای جستجو، تطبیق و جایگزینی متن استفاده می‌شن.
این الگوها می‌تونن ساده یا خیلی پیچیده باشن.

🔹 پرکاربردترین الگوها (Patterns)

1. کاراکترهای خاص

  • . → هر کاراکتر (به جز خط‌جدید)

  • \d → عدد (0-9)

  • \D → هر چیزی به جز عدد

  • \w → کاراکتر کلمه (حروف، اعداد، _)

  • \W → غیر از کاراکتر کلمه

  • \s → فاصله سفید (space, tab, newline)

  • \S → هر چیزی به جز فاصله سفید

let text = "Hi_123 World!"; console.log(text.match(/\w+/g)); // ["Hi_123", "World"]

2. Anchors (شروع و پایان)

  • ^ → شروع رشته

  • $ → پایان رشته

console.log(/^Hello/.test("Hello World")); // true console.log(/World$/.test("Hello World")); // true

3. Quantifiers (تکرارها)

  • ? → صفر یا یک بار

  • * → صفر یا چند بار

  • + → یک یا چند بار

  • {n} → دقیقاً n بار

  • {n,} → حداقل n بار

  • {n,m} → بین n تا m بار

console.log(/a{2,4}/.test("aaa")); // true

4. گروه‌بندی و یا (Grouping & Alternation)

  • () → گروه‌بندی

  • | → یا

let text = "color colour"; console.log(text.match(/colou?r/g)); // ["color","colour"] console.log(text.match(/cat|dog/g)); // ["cat"] اگر متن شامل cat یا dog باشه

5. Assertions (شرط‌ها)

  • (?=...) → Positive Lookahead

  • (?!...) → Negative Lookahead

  • (?<=...) → Positive Lookbehind

  • (?<!...) → Negative Lookbehind

console.log(/Java(?=Script)/.test("JavaScript")); // true console.log(/Java(?!Script)/.test("JavaCode")); // true

🔹 ترکیب چند Pattern

می‌تونیم چندین الگو رو ترکیب کنیم:

let text = "User123"; let regex = /^[A-Za-z]+\d+$/; console.log(regex.test(text));

📌 خروجی:

true

✅ خلاصه

  • Patterns مجموعه‌ای از قواعد برای تطبیق متن هستن.

  • از کاراکترهای ویژه، Quantifiers، Anchors، Groups، Assertions برای ساخت الگوهای پیچیده استفاده می‌کنیم.

  • ترکیب درست این الگوها قدرت واقعی RegExp رو نشون میده.