Previous topic
Help > Other >
Use Of Regular Exoressions

راهنمای استفاده ازعبارات منظم ( 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] مشخص شده است که ارقام صفر تا نه قابل استفاده هستند. علامت * که پس از آن آمده است به معنای این است که مورد قبل(یعنی ارقام صفر تا نه) به هر تعداد که بخواهد وارد شوند. انتهای رشته را نیز با استفاده از $ بسته ایم.