ابزار تست Regex با Match، Replace و Debug
Pattern و Flagها را وارد کنید، Matchها و Capture Groupها را همان لحظه ببینید، Replace و Split را تست کنید و ساختار Regex را با Quick Reference بررسی کنید.
متن آزمایش
متنی که Pattern باید روی آن اجرا شود.
Matchها
نتایج اجرا با موقعیت و Capture Groupها.
Regex داخل Web Worker اجرا میشود و اگر بیش از زمان مجاز طول بکشد Worker متوقف میشود تا صفحه قفل نشود.
Syntax و Flagها مطابق موتور RegExp مرورگر هستند؛ بعضی قابلیتهای PCRE/.NET ممکن است پشتیبانی نشوند.
Pattern، Test String و نتیجه در یک Workspace کنار هم قرار میگیرند.
Regex Tester برای ساخت، تست و دیباگ Pattern
Regex زمانی سخت میشود که Pattern درست Compile شود اما نتیجهای متفاوت از انتظار بدهد. Regex Lab علاوه بر لیست Matchها، Index، Capture Group، Named Group و Replacement را کنار Test String نشان میدهد تا خطا راحتتر پیدا شود.
Pattern Health چند ساختار مستعد Backtracking را هشدار میدهد و اجرا با Timeout محافظت میشود. Syntax ابزار بر اساس JavaScript RegExp است؛ بنابراین Featureهای مخصوص PCRE یا .NET لزوماً در دسترس نیستند.
راهنمای استفاده از Regex Lab
این راهنما فقط درباره کار با همین ابزار است؛ از شروع کار تا معنی گزینهها و خواندن خروجی.
این ابزار دقیقاً چه کاری انجام میدهد؟
Regex Lab برای تست Pattern، دیدن Match و Capture Group، Replace/Split و بررسی Pattern Health است. اجرای Pattern جدا و محدودشده است تا Regexهای بسیار سنگین UI را متوقف نکنند.
قبل از شروع این موارد را بدانید
- Flavor ابزار JavaScript است؛ Syntax بعضی موتورهای Regex دیگر ممکن است فرق کند.
- Pattern را ساده شروع کنید و مرحلهای پیچیدهتر کنید.
- Test Text باید هم نمونه Match و هم Non-match داشته باشد.
قدمبهقدم با ابزار کار کنید
- ۱. Pattern و Flagها را وارد کنیدالگوی Regex و گزینههایی مثل g، i، m، s یا u را تنظیم کنید.
- ۲. متن آزمایش را وارد کنیدنمونه واقعی داده را در Test Text قرار دهید.
- ۳. حالت Match/Replace/Split را انتخاب کنیدبر اساس هدف، نتیجه مناسب نمایش داده میشود.
- ۴. Matchها و Groupها را بررسی کنیدموقعیت هر Match، Capture Group و Named Group را بخوانید.
- ۵. Pattern Health و توضیح را ببینیدبرای Patternهای پیچیده هشدارها و توضیح ساختار را بررسی کنید.
دکمهها، گزینهها و اصطلاحات یعنی چه؟
اگر نام یک گزینه فنی است، این بخش توضیح میدهد چه کاری انجام میدهد و در کدام بخش ابزار به کارتان میآید.
- g
- همه Matchها را پیدا میکند.
- i
- حساسیت به بزرگی/کوچکی حروف را غیرفعال میکند.
- m
- ^ و $ را در سطح خطها تفسیر میکند.
- Capture Group
- بخش داخل پرانتز که مقدار جداگانه ذخیره میکند.
- Replace
- از $1 یا Named Groupها برای ساخت خروجی جدید استفاده میکند.
- Pattern Health
- ریسکهای رایج مثل Backtracking سنگین را هشدار میدهد.
خروجی ابزار را چطور تفسیر کنید؟
یک Pattern خوب فقط مورد درست را Match نمیکند؛ باید نمونههای نامعتبر مهم را هم رد کند. Index، Groupها و تعداد Match را با داده واقعی مقایسه کنید. Timeout نشانه نیاز به بازبینی Pattern است.
سوالات رایج
Regex Flavor چیست؟
هر موتور Regex Syntax و Featureهای خاص خودش را دارد. این ابزار از RegExp مرورگر و در نتیجه JavaScript flavor استفاده میکند.
g، i و m چه هستند؟
Flagهای رایج Regex هستند؛ g برای چند Match، i برای Case-insensitive و m برای رفتار چندخطی Anchorها استفاده میشود.
Greedy و Lazy چه فرقی دارند؟
Quantifierهای Greedy تا حد ممکن مصرف میکنند؛ نسخه Lazy با ? تلاش میکند کمترین مقدار لازم را Match کند.