فرض کنیم میخواهیم رِجِکسی بنویسیم که با یوآرالهای زیر مَچ شود:
http://www.sokanacademy.com
http://sokanacademy.com
https://www.sokanacademy.com
https://sokanacademy.com
برای این منظور، ابتدا الگوی مناسب این کار را نوشته سپس به تفسیر آن خواهیم پرداخت:
var string = "https://sokanacademy.com";
var regex = /http[s]*:\/\/[www\.]*\w+\.\w{3}/;
string.match(regex);
در تفسیر پَترن (الگو) فوق باید گفت که یوآرالهای قابلقبول میباید با http
شروع شوند سپس به حرف s
میرسیم که آن را داخل علائم []
قرار دادهایم و پس از آن علامت *
را درج نمودهایم بدان معنا که کاراکتر s
هم میتواند وجود نداشته باشد و هم وجود داشته باشد. در ادامه علامت :
را نوشتهایم که همواره بخشی از یوآرال است و در ادامه نیاز به پوشش دادن علائم //
داریم اما همانطور که ملاحظه میشود، قبل از هر کدام از آنها از علامت \
استفاده نمودهایم تا به اصطلاح آنها را اِسکیپ کنیم.
در ادامهٔ طراحی رِجِکس فوق، حروف www
را به انضمام .\
داخل علائم []
گذاشته و یک علامت *
پس از این مجموعه علائم درج کردهایم بدان معنا که با قرار دادن یک علامت \
قبل از .
آن را به اصطلاح اِسکیپ کردهایم و علامت *
نیز بدان معنا است که .www
میتواند بخشی از یوآرال باشد یا نباشد.
سپس w\
را نوشتهایم که حاکی از مجاز بودن درج کلیهٔ اعداد و حروف است و علامت +
نیز نشانگر آن است که آدرس اصلی دامنه میتواند حداقل یک کاراکتر و حداکثر بینهایت باشد (البته لازم به یادآوری است که میتوان در این خصوص نیز محدودیتهایی در نظر گرفت.) در نهایت هم .\
به نقطهٔ قبل از com
برمیگردد و در انتها نیز {3}w\
حاکی از آن است که پسوند دامنه میباید مجموعهای از سه حرف باشد.