DIRegEx چیست؟
DIRegEx یک library از component ها و procedure ها است که الگوهای regular expression را با استفاده از یک syntax و semantic مشابه با Perl و Delphi (Embarcadero / Code Gear / Borland) ارائه می کند. از اواسط سال ۲۰۱۵ نسخه اول YuPcre2 پس از DIRegEx ارائه شد که در آن رابط کاربری بهبود بخشیده شده بود، عملکرد آن بهینه سازی شده و قابلیت های مختلفی نیز به آن افزوده شده بود. از آن پس این دو library به شکل موازی با هم توسعه داده شده اند. DIRegEx همچنان رفع باگ های امنیتی، بهینه سازی ها و حتی بهبود در عملکرد را دریافت می کند. این ابزار دو الگوریتم regular expression را با wrapper class های مربوط به آن ها ارائه می کند که TDIPerlRegEx و TDIDfaRegEx نام دارند. TDIPerlRegEx یک matching algorithm را پیاده سازی می کند که syntax و sematics آن مشابه با Perl است. TDIDfaRegEx یک matching algorithm تحت عنوان DFA را به کار می گیرد. هر دو کلاس از یک نیای ancestor مشترک با عنوان TDIRegEx منشا می گیرند.
DIRegEx یک syntax برای regular expression به کار می گیرد که با Perl 5.10 سازگاری دارد و مواردی همچون Quoting، Characters، Character Types و غیره را پوشش می دهد. این ابزار بر اساس regular expression ها امکان انجام Format و Replace را دارد. این قابلیت معمولاً برای text editor های پیشرفته و همچنین پردازنده های کلمات یا word processor ها مورد نیاز است. این امکان وجود دارد که بخش هایی از متن match شده اصلی را در replacement گنجاند. یک function با عنوان List تمام reg-ex match ها را در یک string به هم وصل می کند. DIRegEx شامل دو regular expression mask edit با عنوان های TDIRegEx2MaskEdit و TDIRegEx2ComboBox است. هر دو کنترل، ورودی کیبورد را نسبت به یک regular expression اعتبار سنجی می کنند. عملکرد آن ها شباهت زیادی با TmaskEdit در Delphi دارد اما نسبت به آن قدرتمندتر و با انعطاف بیشتری کار می کنند. این دو کنترل می توانند در موقعیت های مشخص شده کاراکترهای خاصی را بپذیرند یا رد کنند. همچنین می توانند تأیید یا رد که کاراکترهای مشخص شده از کاراکترهای تعریف شده پیروی می کنند یا خیر. امکان محدود کردن متن ورودی برای اینکه با کاراکترهای مشخصی شروع یا تمام شود و همچنین flag کردن متن ناقص برای این که نشان دهند به ورودی بیشتری احتیاج است از دیگر قابلیت های آن هاست. در ادامه لینک دانلود DIRegEx به همراه کرک آن ارائه شده است.
ویژگی ها و قابلیت های DIRegEx:
- ارائه الگوریتم های استاندارد Perl و alternative DFA
- سازگاری syntax با Perl
- ارائه دو regular expression mask edit
- ارائه ابزارهای لازم برای طراحی و تست regular expression ها
- و بسیاری موارد دیگر.