مقدمه ای بر عبارات منظم Regular Expressions

این مقاله قسمت اول سری آموزشی عبارات منظم Regular Expressions  و بررسی اهمیت یادگیری چنین تکنولوژی هایی می باشد. این مقاله به صورت گام به گام ما را با عبارات منظم آشنا می کند، و می بینیم که عبارات منظم به هیچ وجه ترسناک نیست، فقط یک چالش مطلوب و اشتیاق برانگیز هستند.

خب، عبارات منظم چیست؟ یک عبارت منظم رشته ای از کاراکترهاست که برای برنامه خاصی به نام regular expression engine معنا  و مفهوم دارد. این برنامه به ما اجازه می دهد که با استفاده از زبان ویژه پارس متن (text parsing) با آن ارتباط برقرار کنیم. ما اگر بخواهیم همه یا قسمتی از ورودی کاربر را بررسی کنیم، از عبارات منظم استفاده می کنیم. البته نیازی نیست که حتما به عنوان یک برنامه نویسی که از این عبارات منظم استفاده می کنیم، بسیار حرفه ای باشیم. اگرچه دانستن نحوه نگارش آن ها ما را قادر می سازد که به طور کارامدی با این engine ارتباط برقرار کنیم. حال ببینیم که در چه مواردی از عبارات منظم استفاده می کنیم.

Regular Expressions

چه زمانی که می خواهیم دیتابیس طراحی کنیم، چه یک موتور جستجو، یا اینکه فقط بخواهیم داده های ورودی کاربر را بررسی کنیم، عبارات منظم در همه این موارد در دسترس ماست و می توانیم از آن استفاده کنیم.(با فرض اینکه فضای نام آن به درستی در برنامه نوشته شده باشد). عبارات منظم را می توان به عنوان یک سری قوانین برای نوع متنی که ما می خواهیم، در نظر گرفت. به عنوان مثال می توانیم با استفاده از engine متن هایی را پیدا کنیم که شامل حروف کوچک و اعداد هستند. یا حتی می توانیم قسمت خاصی از یک متن را در آن جستجو کنیم، به شرط اینکه بعد از یک کاراکتر خاصی باشد یا شامل معیار ویژه ای باشد. ویرایشگرهای متن مانند IDE ما نیز باید از عبارات منظم استفاده نمایند. با عبارات منظم امکانات بی شماری در اختیار ماست و تنها محدودیت ما خلاقیت است!! درواقع، عبارات منظم برای زبان های برنامه نویسی اصلی بسیار حیاتی و مهم هستند و هر یک کتابخانه ای را به آن اختصاص داده اند. برخی از این زبان ها Ruby، Java،  .Net، Scala، JavaScript، C++ و البته Perl هستند. Engineای که ما در این سری آموزشی با آن کار می کنیم، .Net Framework می باشد، اگرچه بسیاری از syntaxها قابلیت جا به جایی بین زبان های مختلف را دارند. ما به دنبال نحوه نگارشی هستیم که بتوانیم عبارت منظم خودمان را ایجاد کنیم، سپس نگاهی به API پیشنهاد شده فریم ورک نگاهی می اندازیم. بنابراین می توانیم هر نوع عملیاتی برای یافتن متن موردنظر خود انجام دهیم.

کار را با نگاهی به ساده ترین مورد از عبارت منظم که در کد زیر مشاهده می کنید، شروع می کنیم.

<strong>string</strong>expression = @"test expression";

توجه داشته باشید که علامت @ را قبل از اولین کوتیشن ” قرار دادیم. در مقاله بعدی در این مورد توضیح خواهیم داد، اما حالا بیایید این را به یک عادت و تمرین خوب تبدیل کنیم که در هر عبارت منظمی که می نویسیم به همین شکل عمل کنیم.

متن داخل رشته ما در این مثال از موتور می خواهد که کلمه “test” را جستجو کند که بعد از یک فاصله با کلمه “expression” ادامه پیدا کرده است. بنابراین اجازه دهید که متنی برای پارس کردن در برنامه فراهم کنیم.

<strong>string</strong> sampleText = "This is my first test expression.";

در اینجا، موتور جستجو چک می کند که آیا test نوشته شده در متغیر expression با متن نوشته شده در متغیر sampleText مطابقت داشته باشد. اگر این درخواست را از موتور داشته باشیم، به ما خواهد گفت که متن موردنظر پیدا شد. همانطور که می دانید، متن داخل عبارت منظم باید دقیقا با رشته ای که شامل این متن است و می خواهیم آن را بررسی کنیم یکی باشد. شاید در نگاه اول این کار خیلی قدرتمند نباشد، زیرا در این کار از روش های پیشرفته تر و بهتری استفاده نکردیم.

به عنوان مثال اگر متغیر sampleText را به این صورت تغییر دهیم چه اتفاقی می افتد؟

<strong>string</strong>sampleText = "This is my first Test EXPression";

نتیجه موتور به این صورت خواهد بود: متن موردنظر یافت نشد!! زیرا این متن باید دقیقا با متن موردنظر جستجو یکسان باشد.

قسمت بعدی ویژگی های پیشرفته تر عبارات منظم و API پیشنهاد شده توسط .Net Framework را پوشش می دهد. با ما همراه باشید.

مقدمه ای بر عبارات منظم Regular Expressions
امتیاز دهید

(434 نوشته)

C# Programmer , Web Design And Developer , MVC , ASP.NET

فکر شما چیست؟

آدرس ایمیل شما منتشر نخواهد شد. بخشهای موردنیاز علامتگذاری شدهاند *

حاصل جمع اعداد را وارد کنید : *