Regex تستر
عبارات منظم را فوراً در مرورگر خود تست و اشکال زدایی کنید. موارد منطبق را برجسته کنید، گروههای ضبط را مشاهده کنید و از حالت جایگزینی استفاده کنید - رایگان و خصوصی.
عبارات منظم را فوراً در مرورگر خود تست و اشکال زدایی کنید. موارد منطبق را برجسته کنید، گروههای ضبط را مشاهده کنید و از حالت جایگزینی استفاده کنید - رایگان و خصوصی.
عبارات منظم یک زبان دامنه خاص برای تطبیق الگوها در متن هستند. آنها از سال 1968 بخشی از محاسبات بوده اند و اکنون در هر زبان برنامه نویسی مدرن، ویرایشگر متن و ابزار جستجوی خط فرمان تعبیه شده اند. نحو مختصر اما مستعد خطا است: تغییرات کوچک رفتار تطابقی متفاوتی را ایجاد می کند و عبارات پیچیده به سرعت غیرقابل خواندن می شوند. آزمایشکنندهای که همزمان با ویرایش الگو، منطبقها را بهصورت همزمان نشان میدهد، مؤثرترین راه برای توسعه و تأیید regex است.
این تستر در مرورگر شما با استفاده از موتور regex جاوا اسکریپت اجرا می شود (همان چیزی که برنامه شما در صورت اجرا در مرورگر از آن استفاده می کند). الگوها و متن آزمایشی بهصورت واکنشی بهروزرسانی میشوند: هر تغییری که در هر یک از این دو مورد، مسابقه را دوباره اجرا میکند. گروههای منطبق برجسته میشوند، گروههای گرفته شده فهرست میشوند و پرچمها (بدون حساسیت، چند خطی، سراسری) برای آزمایش در معرض دید قرار میگیرند.
نحو Regex به طور ماهرانه ای بین موتورها متفاوت است. جاوا اسکریپت از مشخصات ECMAScript پیروی می کند. Python، PCRE (استفاده شده توسط PHP و بسیاری دیگر)، جاوا، و Go هر کدام گویش های خود را با ویژگی های همپوشانی دارند اما نه یکسان. الگوهای توسعه یافته در اینجا از نحو ECMAScript استفاده می کنند. قابلیت حمل متقابل موتور مستلزم بررسی اسناد هر هدف است.
اشکالزدایی Regex پس از استقرار بسیار سخت است. الگویی که معقول به نظر می رسد ممکن است بیشتر یا کمتر از آنچه در نظر گرفته شده مطابقت داشته باشد، در موارد لبه شکست بخورد، یا در ورودی های خاص عقبگرد فاجعه باری داشته باشد. آزمایش الگوها به صورت تعاملی در برابر ورودی نماینده، مشکلاتی را قبل از بررسی و تولید کد ایجاد می کند.
الگوها از مستندسازی نیز بهره می برند. نمایش regex در کنار ورودی که باید مطابقت داشته باشد و ورودی که نباید مطابقت داشته باشد، قصد را واضح می کند. نگهبانان آینده (از جمله خود شما در شش ماه آینده) از موارد آزمایشی مستند بیشتر قدردانی می کنند تا از تک لاین های هوشمند.
یک الگو را تایپ کنید، ورودی تست را تایپ کنید، موارد منطبق را به صورت زنده برجسته کنید.
Regex جاوا اسکریپت از مشخصات ECMAScript پیروی می کند. ویژگیهای اصلی: کلاسهای کاراکتر ([abc]، [^abc])، کمیکنندهها (*، +، ?، {n،m})، تناوب (|)، گروهبندی ((...))، گروههای ضبط و غیرقابل جذب، نگاه به جلو و نگاه به عقب (موتورهای مدرن)، ارجاع به عقب، گروههای نامگذاری شده، گریزهای ویژگی یونیکد از flags استاندارد (با مجموعه استاندارد u escapes).
تفاوت های مهم با PCRE و Python: پشتیبانی lookbehind اخیراً در جاوا اسکریپت (2018+) است. گروه های نامگذاری شده از نحو (?<name>...) استفاده می کنند. برخی از فرارهای یونیکد برای درست کار کردن به پرچم u نیاز دارند. الگوهای در نظر گرفته شده برای استفاده بین زبانی باید با اسناد هر هدف بررسی شوند.
عملکرد: موتورهای regex مبتنی بر بکترکینگ (بیشتر از جمله جاوا اسکریپت) میتوانند در الگوهای آسیبشناختی خاصی عقبگرد فاجعهباری داشته باشند. آزمایشهایی که تستر را آویزان میکنند، نشانهای از این است که الگوی نیاز به سادهسازی دارد - معمولاً با اجتناب از کمیسازهای تودرتو و تناوب مبهم.