Skip to main content

آشنایی با الگو‌های تطابق

این بخش طبق تعریف الگوی تطابق ذکرشده در کتاب "مرجع آموزش ویپ با سافت سوئیچ استریسک" تألیف مهندس مجتبی اسفندیاری و مهندس مجتبی نجفی مقدم، خلاصه‌نویسی شده است. برای کسب اطلاعات بیشتر به اصل کتاب مراجعه فرمایید.

الگوی تطابق در سیموتل همانند الگوی تطابق استریسک پیاده‌‌سازی شده است با این تفاوت که برخلاف استریسک نیازی به استفاده از علامت _ در ابتدای الگو نیست.

معمولاً داخل الگوهای تطابق از حروف و علامت‌‌هایی استفاده می‌‌شود که هر کدام معنای خاصی دارند.

اطلاعات

الگوهای تطابق در کامپومننت‌‌های مثل **IVR،Outgoing Route ** کاربرد دارند.

نحوه نگارش الگوی تطابق

  • X: این حرف به معنای یک رقم بین 0 تا 9 است. به عبارت دیگر، اگر در الگوی تطابق این حرف وجود داشته باشد به‌جای آن می‌‌توان یک رقم از 0 تا 9 جایگرین کرد، برای‌مثال، در الگوی زیر هر عددی بین 0 تا 9 گرفته شود دستور زیر اجرا می‌شود.

X
  • Z: این حرف به معنای جایگزین‌‌کردن یک رقم بین 1 تا 9 است، برای‌‌مثال، در الگوی زیر هر عددی از 1 تا 9 گرفته شود دستور زیر اجرا می‌شود.

Z
  • N: این حرف به معنای جایگزین‌‌کردن یک رقم بین 2 تا 9 است. برای‌‌مثال، در الگوی زیر هر عددی بین 2 تا 9 گرفته شود دستور زیر اجرا می‌شود.

N
  • [a-b]: یک عدد بین a و b است. برای‌‌مثال، در الگوی زیر هر عددی بین 5 تا 8 گرفته شود.

[5-8]
  • [abcd]: یکی از اعداد ذکر شده داخل براکت، a یا b یا c یا d است. برای‌‌مثال، در الگوی زیر هر یک از اعداد 3 یا 5 یا 6 یا 8 گرفته شود.

[3568]
  • (period): به منزله تکرار حداقل یکی و حداکثر بی‌نهایت رقم و حرف است. برای‌‌مثال، الگوی زیر کلیه شماره‌‌هایی که دست‌کم 2 رقم داشته باشند و رقم اولش بین 0 تا 9 باشد را دربرمی‌گیرد

X.

در مثال بالا دقت کنید الگو باید دست‌کم شامل یک رقم و هر چیز دیگر (حرف یا عدد) باشد و حداکثر می‌‌تواند بی‌نهایت رقم و حرف داشته باشد. علامت (.) به منزله تکرار دست‌کم یک رقم است.

  • (bang)!: علامت تعجب به منزله تکرار دست‌کم صفر و حداکثر بی‌نهایت رقم و حرف است. برای‌‌مثال، الگوی زیر کلیه شماره‌‌هایی که حداقل 1 رقم داشته باشند و رقم اول آنها بین 0 تا 9 باشد را دربرمی‌گیرد

1!

بررسی مثال‌هایی برای الگوریتم تطابق

برای روشن‌تر شدن مطلب اجازه دهید با مثال‌‌هایی بیشتر الگوی تطابق را توضیح دهیم.


ZXX

هر شماره 3 رقمی بین 100 تا 999 را شامل می‌‌شود (از قبیل 256 یا 459).


9X.

هر شماره حداقل سه‌رقمی که رقم اول آن بین 0 تا 9 باشد (از قبیل 911 یا 90912 یا 90939899).


ZXXXXXX

هر شماره 7 رقمی را شامل می‌‌شود(از قبیل 2228045 یا 4228045 که رقم اولش 0 نباشد).


[2-5]6[02468].

هر شماره 4 رقمی که رقم اول آن بین 2 یا 3 یا 4 یا 5 باشد، رقم دوم آن عدد 6 و رقم سوم آن عدد 0 یا 2 یا 4 یا 6 یا 8 باشد (از قبیل 368 یا 262 یا 566).


[0-9a-zA-Z].

هر شماره حداقل 2 رقمی که رقم اول آن بین 0 تا 9 یا a تا z و یا A تا Z باشد. رقم دوم هم هر ترکیبی از قبل (حرف یا عدد) می‌‌تواند باشد (از قبیل 0912117 یا 0098912117 یا z0912117 یا aZ0912117 یا 0Az912117).