آزمایشگر Regex

یک regex را روی متن نمونه آزمایش کنید؛ با برجسته‌سازی زنده، گروه‌های کپچر و یافتن و جایگزینی—بدون ثبت‌نام و کاملاً در مرورگر شما.

ابزارهای توسعه‌دهنده رایگان
/ /
پرچم‌ها: g (سراسری)، i (نادیده‌گرفتن بزرگی و کوچکی حروف)، m (چندخطی)، s (همه‌کاراکترها)، u (یونیکد)، y (چسبنده)

الگوهای رایج

تطابق‌های برجسته‌شده

دربارهٔ این ابزار

این ابزار چه کاری انجام می‌دهد

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

نحوه استفاده از آن

  • الگویی را در فیلد regex بنویسید یا جای‌گذاری کنید و پرچم‌ها را تنظیم کنید (g, i, m, s, u, yدر صورت نیاز )
  • متن آزمایشی‌تان را در کادر زیر جای‌گذاری کنید — با ویرایش هرکدام از دو فیلد، تطابق‌ها به‌صورت زنده برجسته می‌شوند.
  • برای دیدن فهرست هر تطبیق، متن کامل تطبیق‌یافته و تک‌تک گروه‌های کپچر به‌صورت جداگانه، به پایین صفحه بروید.
  • الگوی جایگزینی را وارد کنید (با استفاده از $1, $2، و غیره برای گروه‌های کپچر) تا نتیجهٔ جست‌وجو و جایگزینی را فوراً پیش‌نمایش کنید.
  • روی یک الگوی رایج—ایمیل، URL، آدرس IPv4، شماره تلفن ایالات متحده، رنگ هگزادسیمال، تاریخ ISO یا تگ HTML—کلیک کنید تا به‌جای نوشتن regex از ابتدا، یک الگوی آزمایش‌شده و قابل‌اعتماد بارگذاری شود.

موارد استفاده در دنیای واقعی

  • اعتبارسنجی الگوی ورودی ایمیل یا شمارهٔ تلفن پیش از قرار دادن آن در فرم الگو ویژگی یا اعتبارسنج سمت backend.
  • استخراج تمام URLها، هشتگ‌ها یا کدهای رنگ هگز از یک بخش متن استخراج‌شده.
  • اشکال‌زدایی از این‌که چرا یک عبارت باقاعده در اسکریپت یا فایل پیکربندی، چیزی را که انتظار دارید پیدا نمی‌کند؛ با آزمایش آن به‌صورت مستقل روی داده‌های نمونهٔ واقعی.
  • ساختن یک عبارت باقاعدهٔ جست‌وجو و جایگزینی برای پاک‌سازی گروهی متن یا بازآرایی کد، و بررسی خروجی دقیق پیش از اجرای واقعی آن.

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

این ابزار از چه نوع regex استفاده می‌کند؟

بومیِ JavaScript RegExp موتور (عبارت منظم ECMAScript) — همان موتوری که قدرت می‌دهد به .match(), .replace()، و .test() در هر مرورگر یا اسکریپت Node.js. نحو آن بسیار به PCRE (مورد استفاده در PHP، پایتون و re، و بیشتر زبان‌های دیگر) اما کاملاً یکسان نیست، بنابراین قابلیت‌های وابسته به موتور را، مانند پشتیبانی از lookbehind در موتورهای قدیمی‌تر، دوباره بررسی کنید.

پرچم "g" چه کاری انجام می‌دهد و چرا برای برجسته‌سازی همیشه اعمال می‌شود؟

پرچم global باعث می‌شود regex همهٔ تطابق‌های موجود در متن را پیدا کند، نه اینکه پس از اولین تطابق متوقف شود. این ابزار برای نمای تطابق‌های برجسته، همیشه به‌صورت سراسری جست‌وجو می‌کند تا همهٔ نتایج را یک‌جا ببینید، صرف‌نظر از اینکه آن را اضافه کرده باشید g خودتان در فیلد flags وارد کنید.

چگونه در متن جایگزین به یک گروه کپچر ارجاع بدهم؟

استفاده از $1 برای اولین گروه داخل پرانتز، $2 برای دومی و به همین ترتیب — همان نحوی که جاوااسکریپت String.replace() به‌صورت بومی استفاده می‌کند.

چرا الگوی من خطای "Invalid regular expression" نشان می‌دهد؟

معمولاً یک نویسهٔ ویژهٔ بدون escape (مثل یک (, [، یا . که به یک بک‌اسلش نیاز دارد)، یک گروه بسته‌نشده، یا ترکیبی از پرچم‌ها که موتور از آن پشتیبانی نمی‌کند (مانند ترکیب u با برخی نحوهای قدیمی). پیام خطا توضیح خود مرورگر دربارهٔ علت بروز مشکل را نیز شامل می‌شود.