دانستن عبارتهای منظم( Regular Expressions ) در برنامهنویسی روند توسعهی نرمافزار را سرعت چشمگیری میبخشد.
یکی از نکتههای کمتر شناختهشده در این عبارتها، ارجاع به عقب است که میتواند در شناسایی رشتههای مورد نظر کمک بزرگی به حساب آید.
بهترین مثال قابل اشاره، تگهای موجود در HTML است. فرض کنید میخواهیم عبارتهایی که با AMIB آغاز میشوند و تگ محصور کنندهی آن را جستجو کنیم:
<span>AMIB 1</span> <div>AMIB 2</div> <h1>AMIB 3</h1> |
برای انجام این کار، میتوان از ارجاع به عقب بهره گرفت:
<([a-z][a-z0-9]+)>AMIB.+?</\1> |
ارجاع به عقب در حقیقت استفادهی مجدد از بخشهای یافتهشدهی قبلی است. در مثال بالا، عبارت '1\' یک ارجاع به عقب است. این ارجاع معادل متغیر یافته شده در پرانتز ابتدایی است.
هر مقداری که در پرانتز ابتدایی یافته شود، در این ارجاع نیز کپی خواهد شد. برای دسترسی به متغیرهای دوم تا نهم کافیاست از عبارتهای '2\' تا '9\' استفاده کنید.
به علامت سوال «?» پس از +. توجه کنید. به کار بردن این علامت سوال سبب میشود تا کوتاهترین عبارت ممکن جستجو و در نتیجه، تگ انتهایی به درستی انتخاب شود.
دوست عزيز از ممنون بابت مطلب خوبت
مخصوصا اون جمله آخر يعني 1 ساعت دنبال همين علامت بود