Regex Basic Character
📖توضیحات درس
📄جزوه
مفاهیم کلیدی
-
Regular Expression (Regex) یک توالی از کاراکترها که یک الگوی جستجو (Search Pattern) را تشکیل میدهند و برای پیدا کردن یا جایگزینی رشتهها در متن استفاده میشوند.
-
Dot (.) کاراکتری که با هر نوع کاراکتری (حروف، اعداد یا علامتهای خاص) مطابقت پیدا میکند.
-
Escape Character () کاراکتری که برای تغییر رفتار کاراکترهای دیگر استفاده میشود؛ یا معنای خاص یک کاراکتر (مثل دات) را میگیرد تا به صورت معمولی استفاده شود، یا به یک کاراکتر معمولی (مثل d) معنای خاصی در
Regexمیبخشد. -
Digit (\d) الگویی که تنها با ارقام عددی (0 تا 9) مطابقت دارد.
-
Non-Digit (\D) الگویی که با هر چیزی به جز ارقام عددی مطابقت پیدا میکند (مانند حروف و علائم).
-
Word Character (\w) الگویی که با حروف الفبا (کوچک و بزرگ)، ارقام عددی و کاراکتر آندرلاین (
_) مطابقت دارد. -
Non-Word Character (\W) الگویی که با هر چیزی به جز حروف، اعداد و آندرلاین مطابقت دارد (مانند فضاهای خالی یا علامت
@). -
Whitespace (\s) الگویی که با فضاهای خالی شامل
Space،Tabو خط جدید (Newline) مطابقت پیدا میکند. -
Non-Whitespace (\S) الگویی که با تمام کاراکترهایی که فضای خالی نیستند مطابقت دارد.
-
Caret (^) نمادی که به ابتدای یک خط یا رشته اشاره میکند و برای بررسی شروع یک الگو استفاده میشود.
-
Dollar ($) نمادی که به انتهای یک خط یا رشته اشاره میکند و برای بررسی پایان یک الگو استفاده میشود.
موارد مصاحبه ای
-
تفاوت بین
\dو\Dچیست؟\dکوچک (Lower Case) برای پیدا کردن ارقام (Digit) استفاده میشود، در حالی که\Dبزرگ (Upper Case) دقیقاً برعکس عمل کرده و هر کاراکتری که عدد نباشد را پیدا میکند. -
چگونه میتوان خود کاراکتر نقطه (.) را در متن پیدا کرد بدون اینکه به عنوان "هر کاراکتری" شناخته شود؟ باید از
Backslashقبل از آن استفاده کرد (\.). این کار باعث میشودRegexمعنای خاص نقطه را نادیده بگیرد و فقط به دنبال خودِ کاراکتر نقطه بگردد. -
کاراکتر
\wشامل چه مواردی میشود؟ این کاراکتر با حروفa-z،A-Z، اعداد0-9و کاراکتر_(Underscore) مطابقت دارد. -
کاربرد
^و$در پروژههای واقعی چیست؟ از^برای اطمینان از اینکه یک رشته (مثل کد ملی یا شماره تماس) دقیقاً با یک الگوی خاص شروع شده و از$برای اطمینان از اینکه رشته در نقطه درستی به پایان رسیده است، استفاده میشود.
مثال کاربردی
در آموزش، برای درک بهتر نحوه ترکیب کاراکترها، سناریوی پیدا کردن خطوطی که با عدد شروع میشوند بررسی شد.
اگر بخواهیم تمام خطوطی را پیدا کنیم که با یک رقم شروع شدهاند، از ترکیب ^\d استفاده میکنیم. در این حالت:
^به سیستم میگوید که فقط به ابتدای خطوط نگاه کن.\dمیگوید که بلافاصله بعد از شروع خط، باید یک عدد قرار داشته باشد.
همچنین اگر بخواهیم خطوطی را پیدا کنیم که با عدد تمام میشوند، از ترکیب \d$ استفاده میکنیم که در آن $ نشاندهنده انتهای خط است.
بیشتر بدانید
- Regex Tool
برای تست و دیباگ کردن کدهای Regex خود، میتوانید از سایت regex101.com استفاده کنید. این ابزار به صورت زنده (Live) بخشهای مطابقت داده شده در متن را هایلایت میکند و در بخش Explanation دلیل مطابقت هر بخش از الگو را توضیح میدهد.
- Case Sensitivity Rule
یک قاعده کلی در کاراکترهای پایه Regex وجود دارد: معمولاً نسخه حروف بزرگ (Upper Case) یک دستور، دقیقاً برعکس نسخه حروف کوچک (Lower Case) آن عمل میکند (مانند \s و \S).
- Keyboard Shortcut
علامت ^ (Caret) معمولاً با فشردن کلیدهای Shift + 6 بر روی کیبورد تایپ میشود.
