Regex یا Regular Expression چیست ؟

سلام دوستان امروز به بررسی Regex یا Regular Expression خواهیم پرداخت از Regex به منظور سرچ در String استفاده می شود اما سرچ فقط بخش کوچکی از Regex به شمار می آید در ادامه به توضیح Regex یا Regular Expression چیست ؟ می پردازیم و کاربردها و مزیت های Regex  را بیان می کنیم در ادامه با ما همراه باشید.
 

Regex یا Regular Expression چیست ؟

همان طور که در بالا گفتیم از Regex به منظور سرچ استفاده می شود یعنی کار اصلی آن جستجو است تمامی کارهایی که توسط Regex انجام می شود برمبانی سرچ یا واکشی (fetch) است خود کلمه واکشی به معنی جستجو است. Regex به شما این امکان رو میده که براساس یک Pattern خاص عمل جستجو را یا مطابقت دادن یک فیلد را انجام دهید ویرایشگری مانند Notepad++ از Regext به مظور سرچ و Replace استفاده می کند. Regex به منظور فیلتر کردن نیز می تواند مورد استفاده قرار گیرد.
 
مزیت های Regex یا Regular Expression

  • ذخیره کردن زمان برای شما در بیشتر مواقع
  • سادگی دستوری
  • کاربردی بودن
  • عمل واکشی یا جستجو را در کسری از ثانیه انجام میدهند.
  • در جاهای که مقدار تگ ها متفاوتی وجود داشته باشد مثل Xml و Html برای واکشی کردن مورد استفاده قرار می گیرد.
  • یک خط Regex می تواند با 100 خط کد برای واکشی جایگزین شود !
  • ساده ترین روش برای برش (Trim) و چسباندن (concatenation) است
  • برای برنامه نویسان مبتدی که زیاد با کد نویسی آشنا نیستند مورد استفاد قرار می گیرد.
  • خطای کمتر نسبت به کد سفارشی
  • Regex به زبان محاوره خارجی بسیار نزدیک است (حرف اول در Regex به معنی یک کار خاص است)
  • عمل parse کردن را در بدترین شرایط انجام میدهد

معایب Regex

  • تنبل کننده ذهن برنامه نویس
  • نداشتن راه حلی برای مطابقت پسورد
  • Regex به Write only معروف است یعنی نمی توانید خودتان آن را توسعه دهید بلکه فقط می تواند از متودهای از پیش تعریف شده آن استفاده کنید.
  • Regex فقط برای متن است.
  • سختی در خواندن Regex به گفته برخی چون باید یک Dictionary مربوط به آن را حفظ کنید !

 
نتیجه گیری :  استفاده از Regex در بیشتر موارد به صرفه تر از نوشتن کدهایی است که ساعت ها زمان برنامه نویس را می گیرد در پست های بعدی Dictionary مربوط به Regex را برایتان قرار خواهیم داد.
 
 
موفق باشید.

مطالعه بیشتر