ایجاد: ۱۲:۵۶ ۱۳۹۱/۸/۱۴
ویرایش: ۲۲:۳۹ ۱۳۹۴/۵/۱۶

یادداشت‌ها

»

عبارات منطقی و با قاعده - پیشرفته

خواص پیشرفته regular expression در زبان‌های مختلف برنامه‌نویسی کمی با هم متفاوت است. در این مطلب من به یکی از متداول‌ترین و البته قوی‌ترین خصوصیات پیشرفته ریجکس، به نام «نگاه به اطراف» می‌پردازم که شامل «نگاه به عقب» و «نگاه به جلو» می‌شود.
گاهی ما نیاز داریم که الگوی مدنظرمان، قبل یا بعد از الگوی خاصی باشد. مثلا ممکن است ما اعدادی را بخواهیم که داخل متن داخل پرانتز آورده شده نه اعداد که بیرون پرانتز ذکر شده.
خب در اینجا لازم است که الگوی ما علاوه بر انتخاب عدد با \d و ... ، به قبل و بعد آن هم نگاهی داشته باشد.
نکته 1: بلوکی که قرار است برای «نگاه به عقب» و «نگاه به جلو» ذکر شود، داخل پرانتز قید می‌شود و با کاراکتر ? شروع می‌شود و برخلاف سایر قسمت‌های الگو، چیزی را انتخاب نمی‌کند بلکه صرفا برای اطمینان از موجود/ناموجود بودن عبارت مربوطه در اطراف بخش موردنظر است.
نکته 2: برای نگاه به جلو، داخل پرانتزی در جلوی بخش موردنظر، بعد از علامت سوال، عبارت = یا ! را برای اطمینان از موجود/ناموجود بودن پترن موردنظر درج می‌کنیم.
برای نگاه به عقب در عقب بخش موردنظر همین کار را می‌کنیم منتها بعد از علامت سوال، کاراکتر < را هم درج می‌کنیم که مشخص شود این پرانتز مربوط به نگاه به عقب است و با ادامه الگو قاطی نشود:
q(?=u)
q(?!u)
(?<=a)b
(?<!a)b
خط اول به دنبال q یی می‌گردد که بعد از آن u باشد
خط دوم به دنبال q یی می‌گردد که بعد از آن u نباشد
خط سوم دنبال حرف b می‌گردد که قبل از آن حرف a باشد
خط چهارم دنبال حرف b می‌گردد که قبل از آن حرف a نباشد
برای توضیحات بیشتر این لینک را مشاهده بفرمایید.

دو ویژگی Conditional (If-Then-Else) Patterns و Named Subpatterns نیز جالب هستند که با خواندن این مطلب می‌توانید اطلاعات بیشتری در مورد آن کسب کنید.

ابزارهای آنلاین جهت تست و کار با عبارات باقاعده و منطقی

نرم‌افزارهایی برای نصب روی سیستم‌عامل وجود دارد که کار نوشتن و تست عبارات باقاعده را ساده‌تر می‌کند اما با وجود ابزارهای آنلاین، کمتر کسی به سمت آنها می‌رود. در این مقاله 15 ابزار آنلاین برای کار با Regular Expression ها معرفی شده است که RegExr و RegEx101 دوتا از بهترین و ممتازترین سرویس‌های آنلاین در این زمینه است.
این سایت نیز آموزش و آزمون آنلاین بسیار خوبی در این زمینه ارائه نموده است.
یادداشت‌های مرتبط
  1. عبارات منطقی و با قاعده - مقدماتی
  2. نمایش و جایگزینی ارقام متون سایت به صورت فارسی یا عربی بجای انگلیسی
  3. افزودن جستجوی سایت شما به براوزر کاربر
  4. ایجاد تصاویر بکگراند

مدیریت

نام وسیله

اعتبار ورود

نام کاربری

رمز عبور

رمز یکبارمصرف

... لیست تمام یادداشت‌ها

تبلیغات

ربات‌های تلگرامی:
مجموعه ربات‌های تلگرامی ما برای ساده‌تر کردن کار با تلگرام و مدیریت کانال
دامنه‌های فروشی:
دامنه‌های زیر مربوط به ما یا مشتریان ماست که قابل واگذاری هستند. در صورت تمایل به داشتن یکی از آنها، با این اکانت تلگرامی مکاتبه نمایید.

دامنه‌هایی که می‌تواند مصرف تخصصی داشته باشد:
AnyDesk.ir, Firebase.ir, Angularjs.ir, 9px.ir alAdmin.ir, iQore.ir notion.ir, 3dn.ir,

دامنه‌هایی که می‌تواند مصرف فرهنگی/مذهبی داشته باشد:
mavaez.ir, 2aha.ir, babolelm.ir, mahjoor.ir

دامنه‌هایی که می‌تواند مصرف شخصی/عمومی داشته باشد:
azizami.ir, 90blog.ir