استفاده ازعبارات منظم (Regular Expressions) در دلتاسیب
در قسمت های VISP، Supporter و Center امکان تعریف کردن الگو برای نام کاربری یوزرها وجود دارد. تعریف الگوهای مناسب موجب می شود در هنگام ساخت کاربر، هر کدام در VISP، Supporter و یا Center مناسب خود قرار گیرند. در این قسمت می خواهیم نحوه ی استفاده از این الگو ها را شرح دهیم.
^

(Hat) مشخص کننده ی ابتدای رشته می باشد.

$

(Dollar) انتهای رشته را نشان می دهد.

.

(Dot) می تواند جایگزین هر کاراکتری می شود.

*

(Star) نشان دهنده ی تعداد صفر و یا بیشتر از کاراکترهای قبلی خود می باشد

+

(Plus) نشان دهنده ی تعداد یک و یا بیشتر از کارکترهای قبلی خود می باشد.

{n}

تعداد n مورد از موارد قبل از خودش را تکرار می کند.

{m,n}

حداقل m و حداکثر n مورد از موارد قبل از خودش را تکرار می کند.

[…]

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

[^…]

لیستی از کاراکتر ها را مشخص می کند که این موارد استفاده نشوند. در این حالت نیز کاراکترهای مورد نیاز را به جای علامت … می گذاریم.

p1|p2|p3

این علامت به معنای یا می باشد. یعنی در صورتی که در هر کدام از الگوهای جدا شده با این علامت صدق کند.

در ادامه با ذکر چند مثال به توضیح موارد مطرح شده می پردازیم.
در تمامی موارد به صورت پیش فرض الگوی .* وجود دارد که به معنای این است که نام کاربری را به هر شکل می توان وارد کرد و محدودیتی در تعداد یا نوع کاراکترها وجود ندارد.
مثال 1: می خواهیم برای یک Center الگویی ایجاد کنیم که فقط شامل نام کاربری های 5 حرفی باشد و فقط از یکی از حروف a، b و یا d استفاده شده باشد. الگوی آن به صورت زیر است :
^[abd]{5}$
علامت ^ نشان دهنده ی ابتدای رشته می باشد. با استفاده از [abd] مشخص کردیم که یکی از حروف a، b و یا d قابل استفاده باشند و در ادامه {5} مشخص کننده ی این است که حروف مذکور 5 بار تکرار شوند. علامت $ انتهای رشته را مشخص می کند.
در صورتی که علامت ^ اولیه را نگذاریم به این معنا است که تمامی نام های کاربری که انتهای آن به الگوی مذکور ختم شوند قابل قبول می باشند.
در صورتی که علامت $ را در انتها نگذاریم، موجب می شود تمامی نام های کاربری که ابتدای آن الگوی مذکور باشد، قابل قبول باشند.
در صورتی که هیچ کدام از علامت های ^ و $ نگذاریم، به این معنا است که الگوی مذکور در هر قسمتی از رشته اعم از ابتدا، وسط و یا انتهای رشته قرار بگیرد، قابل قبول خواهد بود.
مثال2: می خواهیم برای کاربران یک Center از ADSL الگویی بنویسیم که اجازه دهد شماره تلفن هایی که در بازه ی 5632210000 تا 5632239999 قرار دارند، در این Center قرار گیرد. الگوی آن به شرح زیر است :
^56322[1-3]{1}[0-9]{4}$
علامت ^ نشان دهنده ی ابتدای رشته می باشد. 56322 نشان دهنده ی این است که پنج کاراکتر ابتدای رشته به صورت ثابت همین پنج کاراکتر باشد.
{1}[1-3]مشخص می کند که یکی از اعداد 1 تا 3، یک مورد جایگزین شود.
در نهایت {4}[9-0]مشخص کننده ی این است که یکی از اعداد 0 تا 9 به تعداد 4 عدد مورد استفاده قرار گیرد
در این مثال {1} را می توانستیم ننویسیم. یعنی
^56322[1-3][0-9]{4}$
معادل عبارت فوق می باشد.
مثال 3: الگویی برای نام های کاربری یک Center می نویسیم که نام کاربری ها بتوانند شماره تلفن بین بازه ی 5632210000 تا 5632224999 باشد :
^563221[0-9]{4}$|^563222[0-4][0-9]{3}$
در اینجا عبارت منظم را به صورت دو قسمتی ایجاد کردیم. استفاده از علامت | مشخص کننده ی این است که هر کدام از عبارت منظم های سمت چپ و یا سمت راست این علامت که صادق باشد، کافی می باشد. عبارت منظم اول یعنی
^563221[0-9]{4}$
مشخص کننده ی رشته هایی است که با 563221 شروع می شوند و در ادامه هر کدام از ارقام 0 تا 9 را 4 دفعه تکرار کرده باشند. یعنی بازه ی 5632210000 تا 5632219999 در این عبارت منظم صدق می کند. در قسمت دوم عبارت منظم
^563222[0-4][0-9]{3}$
مشخص کردیم که 6 کاراکتر ابتدای نام کاربری به صورت ثابت 563222 باشد، سپس کاراکتر هفتم یکی از اعداد بین 0 تا 4 بوده و سه کاراکتر پایانی نیز اعدادی بین 0 تا 9 باشند که بازه ی 5632220000 تا 5632224999 را در اختیار قرار می دهد.
مثال 4: الگویی برای نام کاربری هایی می نویسیم که حتما با یک، دو، سه و یا چهار حرف از حروف الفبا شروع شود و در ادامه یک علامت - و پس از آن به تعداد دلخواه عدد قرار گرفته باشد.
^[a-zA-Z]{1,4}-[0-9]*$
علامت ^ ابتدای رشته را مشخص می کند. با استفاده از [a-zA-Z] مشخص می کنیم که کاراکترهای a تا z و A تا Z قابل استفاده می باشند. و در ادامه با استفاده از {1,4} بیان شده است که کاراکترهای گفته شده حداقل یک و حداکثر 4 مورد می بایستی تکرار شوند. پس از آن علامت - خواسته شده را قرار داده ایم و در ادامه با استفاده از [9-0] مشخص شده است که ارقام صفر تا نه قابل استفاده هستند. علامت * که پس از آن آمده است به معنای این است که مورد قبل(یعنی ارقام صفر تا نه) به هر تعداد که بخواهد وارد شوند که طبق شرح کاراکترها می توان هیچ عددی وارد نکرد. انتهای رشته را نیز با استفاده از $ بسته ایم.