الانتقال إلى المحتوى الرئيسي
الوحدة 3 · الدرس 2 من 410/32 في الدورة~10 min
دروس الوحدة (2/4)

حدود الكلمات: `\b` `\B`

\b عبارة عن نقطة ارتساء لحدود الكلمة: فهي تطابق الموضع بين الحرف الكلمة (\w) والحرف غير الكلمة (\W، أو بداية/نهاية السلسلة). مثل ^ و$، فهو لا يستهلك الأحرف.

Code
Pattern: \bgatto\b
Sample:  Il gatto e la gattina giocano.
            ^^^^^

gatto يطابق فقط كلمة كاملة: داخل gattina التسلسل gatto غير موجود (النسخة النهائية o مفقودة)، ولكنها لن تتطابق gatti إما لأن i النهائي عبارة عن حرف كلمة.

\B هو العكس: فهو يطابق موضعًا ليس كلمة الحدود.

البحث عن "الكلمات الكاملة"

الاستخدام الأكثر شيوعًا لـ \b هو "مطابقة الكلمة X فقط عند عزلها، وليس كجزء من كلمة أخرى":

Code
\bif\b   matches 'if' but not 'sniff', 'gift', 'lifetime'.

حدود الكلمات والأحرف غير الكلمة

الحد \\b لا يتطابق مع أي طابع مادي؛ إنه اختبار الموقف. يوجد حد \\b بين حرف \\w وحرف غير \\w (أو بداية/نهاية النص). يؤكد النفي \\B على أن الموضع الحالي ليس حدًا للكلمة.

جربه

تمرين#regex.m3.l2.e1
المحاولات: 0جارٍ التحميل…

ابحث عن كل تكرار للكلمة بأكملها `cat` (غير حساس لحالة الأحرف). يجب ألا يتطابق مع `الفئة` أو `التسلسل` أو `التشتت`.

جارٍ تحميل المحرر…
إظهار التلميح

لف "cat" بين اثنين \\b: الحدود في البداية والحدود في النهاية.

الحل متاح بعد 3 من المحاولات

تمرين المراجعة

تمرين#regex.m3.l2.e2
المحاولات: 0جارٍ التحميل…

ابحث عن كل عدد صحيح ليس جزءًا من المعرف (على سبيل المثال، `42` Yes، ولكن ليس `var42` أو `42abc`). استخدم `\\b` على كلا الجانبين.

جارٍ تحميل المحرر…
إظهار التلميح

\\b\\d+\\b يطابق تسلسلات الأرقام "المعزولة" فقط. يحتوي abc42 على "c" (كلمة) قبل الرقم 42.

الحل متاح بعد 3 من المحاولات

التحدي الإضافي

تمرين#regex.m3.l2.e3
المحاولات: 0جارٍ التحميل…

Find the sequence `cat` only if it starts a longer word, excluding when it appears as a whole word or at the end (e.g. match `catalog` but not `wildcat` or isolated `cat`).

جارٍ تحميل المحرر…
إظهار التلميح

استخدم \\b في بداية cat (حدود الكلمة) و\\B في النهاية (حدود غير الكلمات).

الحل متاح بعد 3 من المحاولات