ارجاع به عقب( Backreference ) در عبارت‌های منظم

دانستن عبارت‌های منظم( 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\’ استفاده کنید.

به علامت سوال «?» پس از +. توجه کنید. به کار بردن این علامت سوال سبب می‌شود تا کوتاه‌ترین عبارت ممکن جستجو و در نتیجه، تگ انتهایی به درستی انتخاب شود.

این نوشته در برنامه‌نویسی, عبارت‌های منظم ارسال و , , برچسب شده است. افزودن پیوند یکتا به علاقه‌مندی‌ها.

یک دیدگاه برای ارجاع به عقب( Backreference ) در عبارت‌های منظم

  1. رضا می‌گوید:

    دوست عزیز از ممنون بابت مطلب خوبت
    مخصوصا اون جمله آخر یعنی ۱ ساعت دنبال همین علامت بود

پاسخ دهید

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

شما می‌توانید از این دستورات HTML استفاده کنید: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>