Regular Expression یا به اختصار RegEx مجموعهای از کاراکترهایی است که الگویی را تشکیل میدهند که با استفاده از آن میتوان تشخیص داد که آیا متن یا مجموعه کاراکترهایی خاص مطابق با الگوی مد نظر است یا خیر و این در حالی است که از آن میتوان برای اعتبارسنجی ایمیل، شماره تلفن، نامکاربری و یا برای جایگزینی متن استفاده کرد و نیاز به توضیح نیست که زبانهای زیادی از RegEx (تلفظ شود رِجِکس) پشتیبانی میکنند. از جمله سناریوهایی که رگیولار اکسپرشن میتواند به کار آید میتوان به موارد زیر اشاره کرد:
- پینکد
- کدهای هگزادسیمال
- تاریخ
- ایمیل
- اعداد اعشاری
- جایگزینی کاراکتر انتهایی یک استرینگ
- یافتن و جایگزینی فضاهای خالی
- جداسازی قسمتهای مختلف یک لینک
درآمدی بر تاریخچهٔ RegEx
رِجِکس ریشه در ریاضیات دارد و برای اولین بار توسط ریاضیدان آمریکایی Stephen Cole Kleene در دههٔ ۱۹۵۰ مطرح شد و در علم برنامهنویسی هم در دههٔ 1968 توسط Ken Thompson در ویرایشگر متن QED برای جستجوی متن به کار رفت. در ادامهٔ پیشرفتها در این زمینه، رِجِکس به پلتفرم Unix راه پیدا کرد و ابزاری همچون grep که در سیستمعامل گنو/لینوکس امروزه مورد استفاده قرار میگیرد نیز نتیجهٔ تحقیقات آن دوران است.
امروزه پشتیبانی از رگیولار اکسپرشن یا در کِرنِل زبانهای برنامهنویسی مطرح گنجانده شده و یا از طریق یک سری لایبرری خارجی به آنها افزوده شده است. همچنین لازم به یادآوری است که برخی توسعهدهندگان با نگاه به مقولهٔ رِجِکس از یادگیری آن صرف نظر میکنند چرا که سینتکسی پیچیده دارا است اما در عین حال با یادگیری یک سری قواعد پایهای از یکسو و همچنین تکرار و تمرین میتوان بر آن مسلط شد.