رجکس چیست؟

به زبان‌های دیگر بخوانیدEnglishEspañolFrançaisPortuguês do Brasil中文版日本語한국어TurkishGreekMagyarPolishРусскийTiếng Việtرجکس یا به بیان دیگر عبارت داری نظم، گروهی از حروف و کاراکترها هستند که برای جستجوی الگویی خاصی در متون استفاده می‌شود.یک عبارت منظم الگویی از رشته‌ها از سمت چپ به راست چیده شده است. عبارت منظم بخاطر تلفظ سخت ان بیشتر از رجکس استفاده می کنند. که معمولا هم از کلمه regex در انگلیسی استفاده می‌شود. رجکس در جاگزین کردن متون در دشته‌ها، استخراج الگوهای خاص از متون و فرم‌ها استفاده می‌شود.یک لحظه تصور کنید که دارید اپلیکشنی می‌نویسید که کاربر می‌خواهد نام کاربری خود را انتخاب کند که داری حروف، کاراکتر و اعداد باشد. همچنین تعداد کاراکترهای کاربر محدود باشد به نظر زیبا باشد. برای این کار کافی است از عبارت زیر استفاده کنید:رجکس بالا عبارت های مانند john_doe, jo-hn_doe, john12_ را می‌تواند بگیرد. همچین عبارت مانند Jo را نمی‌گیرد اول از همه چون با حروف بزرگ است دومن رشته‌ی بسیار کوتاه است.جکس بالا عبارت های مانند john_doe, jo-hn_doe, john12_ را می‌تواند بگیرد. همچین عبارت مانند Jo را نمی‌گیرد اول از همه چون با حروف بزرگ است دومن رشته‌ی بسیار کوتاه است.فهرست مطالبمشابه‌هامتاکاراکترعلامت‌نقطهمجموعه‌ی از کاراکترهانادیده‌گرفتن کاراکترهاتکرارهاعلامت‌ستارهعلامت‌پلاسعلامت‌سوالعلامت پرانتزعلامت براکتجایگزین‌هامحافظلنگرهاکالسکهعلامت دلارمجموعه‌های دامنه‌ها اختصاریجستجوی مثبت منفیجستجوی خنثیپرچم‌هاجستجوی بی‌عیب و نقصجستجوی کلیجتسجوی چند‌خطهخسیس دربرابر تطلبق تنبلمشابه‌هادر اصل رجکس‌ها مجموعه‌ای از کاراکترهایی هستند که برای جستجو استفاده می شود. برای مثال کلمه the از حروف t، h و e تشکیل می شود.&quotthe&quot => The fat cat sat on the mat. sرجکس را اجرا کنمتاکاراکترمتاکاراکتر بلوک‌هایی هستند که رجکس را تشکیل می دهند. متاکاراکتر به تنهایی معنایی ندارند. در عوض انان تفسیر می‌شوند تا گروهی خاصی از کاراکترها را بشناسند. برخی از متاکاراکترها دارای نمادی خاصی هستند داخل علامت [] نوشته می‌شوند.انواع متاکارکترها:نقطهنقطه ساده‌ترین متاکاراکتر است. تمامی کاراکترهای جدا را پیدا می‌کند. نقطه خط‌های درهم شکسته را پیدا نمی کند.به عنوان مثال حروف ar یعنی هر کاراکتری که بعدش حروف a وr باشند.&quot.ar&quot => The car parked in the garage.رجکس را اجرا کنمجموعه‌ کارکترهامجموعه‌ی از کاراکترها به نام کلاس کاراکترها خوانده می‌شود. برای مشخص کردن کلاسی از کاراکترها باید انان را در داخل علامت [] بگذاریم. ترتیب کاراکترها در براکت مهم نیست. برای مثال کلمه Tt]he] جروف تی‌ بزرگ و تی کوچک بعد ان هم h و e را به همراه دارد.پس حروف Tt]he] را پیدا می‌کند&quot[Tt]he&quot => The car parked in the garage.رجکس را اجرا کننماد نقطه در در مجموعه از کاراکترها، کاراکتر نقطه را مشخص می‌کند. پس عبارت [.]ar بدان معنی است که حروف کوچیک آ را نمایش می‌هد بعد به دنبال ان r و پس از ان کاراکتر . را نمایش می‌دهد. پس حروف .ar را پیدا می کند.&quotar[.]&quot => A garage is a good place to park a car.رجکس را اجرا کنشاید کمی نامفهوم باشد ولی باکمی بازی با دستورات و اجرا کردن دستورات رجکس پی خواهید برد که چگونه این عبارت‌های منظم کار می‌کند.نادیده‌گرفتن کاراکترهاعلامت ^ بدان معنی است که خط شروع شده است. ولی وقتی ان را پس از باز کردن براکت می‌نویسید مفهوم دیگررا می‌رساند. پس تمامی کاراکترهای که در براکت نوشته شده است نادیده گرفته می‌شود.برای مثال عبارت[^c]arبدان معنی است که تمامی کاراکترها را پیداکن به جزء کاراکتر `c`&quot[^c]ar&quot => The car parked in the garage.رجکس را اجرا کنتکرارهاعلامت‌های *، + و ? برای نشان دادن این است که چند بار کلاس‌ها تکرار شوند. این رجکس‌ها بستگی به شرایط ممکن متفاوت عمل کنند.علامت ستارهعلامت ستاره نشان تعداد تکرار دفعات است (صفر یا بیشتر). عبارت *a بدان معنی است آ و هر کاراکتری که بود. پس بعد از کاراکتر آ هر کاراکتر ممکن است ظاهر شود.برای مثال : پیدا کردن تعداد تکرار مجموعه‌ی تمامی کاراکترها، باید به این روش عمل کنیم[a-z]*تعداد تمامی حروف کوچیک در هر خط&quot[a-z]*&quot => The car parked in the garage #21.رجکس را اجرا کن