
راهنمای استفاده ازعبارات منظم ( Regular Expressions) در دلتاسیب
در
قسمت های VISP، Supporter و Center امکان تعریف کردن الگو برای کاربران وجود
دارد که تعریف مناسب برای این الگوها موجب می شود در هنگام ساخت کاربر، هر کدام در
VISP، Supporter و یا Center مناسب خود قرار گیرند. در این قسمت می خواهیم
نحوه ی استفاده از این الگو ها را شرح دهیم.
^ (Hat) مشخص کننده ی ابتدای رشته می
باشد.
$
(Dollar) انتهای رشته را نشان می
دهد.
.
(Dot) می تواند جایگزین هر کاراکتری می
شود.
*
(Star) نشان دهنده ی تعداد صفر و یا بیشتر از
کاراکترهای قبلی خود می باشد.
+
(Plus)نشان دهنده ی تعداد یک و یا بیشتر از
کارکترهای قبلی خود می باشد.
{n}
تعداد n مورد از موارد قبل از خودش را تکرار می
کند.
{m,n} حداقل m و حداکثر n مورد از موارد قبل از خودش را تکرار می
کند.
[…] لیستی از کاراکتر ها را مشخص می کند که از
میان آن ها جایگزین خواهد شد. برای این موضوع کاراکتر های مورد نیاز را به جای
علامت ... می گذاریم.
[^…]
لیستی از کاراکتر ها را مشخص می کند که این موارد استفاده نشوند. در این
حالت نیز کاراکترهای مورد نیاز را به جای علامت … می گذاریم.
p1|p2|p3 این علامت به معنای یا می باشد. یعنی در صورتی که در هر کدام از الگوهای جدا شده با این علامت صدق کند .
در
ادامه با ذکر چند مثال به توضیح موارد مطرح شده می پردازیم.
ü
مثال
1:
در تمامی موارد به صورت پیش فرض الگوی .* وجود دارد که به معنای تمامی نام کاربری ها
بوده و شامل همه می شود.
ü
مثال
2:
می خواهیم برای یک Center الگویی ایجاد کنیم که فقط شامل نام کاربری
های 5 حرفی باشد و فقط از یکی از حروف a، b و یا d استفاده شده باشد. الگوی آن به صورت زیر
است:
^[abd]{5}$
تفسیر: علامت ^ نشان دهنده ی ابتدای رشته می باشد. با استفاده از [abd] مشخص کردیم که یکی از حروف a، b و یا d قابل استفاده باشند و در ادامه {5} مشخص کننده ی این است که حروف مذکور 5 بار تکرار شوند. علامت $ انتهای رشته را مشخص می کند.
o
نکته:
§
در
صورتی که علامت ^ اولیه را نگذاریم به این معنا است که تمامی
نام های کاربری که انتهای آن به الگوی مذکور ختم شوند قابل قبول می باشند.
§
در
صورتی که علامت $ را در انتها نگذاریم، موجب می شود تمامی نام
های کاربری که ابتدای آن الگوی مذکور باشد، قابل قبول باشند.
§ در صورتی که هیچ کدام از علامت های ^ و $ نگذاریم، به این معنا است که الگوی مذکور در هر قسمتی از رشته اعم از ابتدا، وسط و یا انتهای رشته قرار بگیرد، قابل قبول خواهد بود.
ü
مثال
3:
می خواهیم برای کاربران یک Center از ADSL الگویی بنویسیم که اجازه دهد شماره تلفن هایی
که در بازه ی 5632210000 تا 5632239999 قرار دارند، در این بازه قرار گیرد. الگوی
آن به شرح زیر است:
^56322[1-3]{1}[0-9]{4}$
تفسیر: علامت ^ نشان دهنده ی ابتدای رشته می باشد. 56322 نشان دهنده ی این است که پنج کاراکتر ابتدای رشته به صورت ثابت همین پنج کاراکتر باشد. [1-3]{1} مشخص می کند که یکی از اعداد 1 تا 3، یک مورد جایگزین شود. و در نهایت [0-9]{4} مشخص کننده ی این است که یکی از اعداد 0 تا 9 به تعداد 4 عدد مورد استفاده قرار گیرد. در این مثال {1} را می توانستیم ننویسیم. یعنی ^56322[1-3][0-9]{4}$ نیز معادل عبارت فوق می باشد.
ü
مثال
4:
الگویی برای نام های کاربری یک 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}$ بازه ی 563222000 تا 5632224999 را در اختیار قرار می دهد.
ü
مثال 5: الگویی برای نام
کاربری هایی می نویسیم که حتما با یک، دو، سه و یا چهار حرف از حروف الفبا شروع شود
و در ادامه یک علامت –
و پس از آن به تعداد دلخواه عدد قرار گرفته باشد.
^[a-zA-Z]{1,4}-[0-9]*$
تفسیر:
علامت ^ ابتدای رشته را مشخص می کند. با استفاده از
[a-zA-Z] مشخص می کنیم که کاراکترهای a تا z و A تا Z قابل استفاده می باشند. و در ادامه با
استفاده از {1,4} بیان شده است که کاراکترهای گفته شده حداقل
یک و حداکثر 4 مورد می بایستی تکرار شوند. پس از آن علامت –
خواسته شده را قرار داده ایم و در ادامه با استفاده از [0-9] مشخص شده است که ارقام صفر تا نه قابل
استفاده هستند. علامت * که پس از آن آمده است به معنای این است که
مورد قبل(یعنی ارقام صفر تا نه) به هر تعداد که بخواهد وارد شوند. انتهای رشته را
نیز با استفاده از $ بسته ایم.