"إذا أراد العامل أن يؤدي عمله بشكل جيد، فعليه أولاً أن يشحذ أدواته." - كونفوشيوس، "مختارات كونفوشيوس. لو لينجونج"
الصفحة الأمامية > برمجة > كيفية استخدام حدود الكلمات بشكل صحيح في تعبيرات PHP العادية؟

كيفية استخدام حدود الكلمات بشكل صحيح في تعبيرات PHP العادية؟

تم النشر بتاريخ 2024-12-23
تصفح:403

How to Correctly Use Word Boundaries in PHP Regular Expressions?

فهم وظيفة حدود الكلمات في التعبيرات العادية في PHP

عند محاولة تنفيذ حدود الكلمات لمطابقة كلمات معينة في المحتوى باستخدام التعبيرات العادية في PHP، من الضروري فهم سلوكهم الدقيق. ومع ذلك، أثناء الاختبار، قد تظهر نتائج غير متوقعة.

في المثال المقدم، تم استخدام التعبير "^|\b@nimal/i" لمطابقة كلمة "cat" فقط إذا ظهرت في بداية كلمة أخرى. ومع ذلك، كانت النتائج غير بديهية، مما أدى إلى ارتباك حول كيفية تحديد PHP لحدود الكلمات.

يكمن مفتاح فهم مطابقة حدود الكلمات في طبيعة \b. يتطابق هذا المؤشر عند نقطة الانتقال بين \w (حرف الكلمة) و\W (حرف غير كلمة). لكي تكون المطابقة ناجحة، يجب أن يكون هناك حرف كلمة قبل الحرف محل الاهتمام.

فكر في المثال الأول:

preg_match("/(^|\b)@nimal/i", "something@nimal", $match);

يطابق التعبير حد الكلمة بين "g" و"@"، حيث أن "g" عبارة عن حرف كلمة و"@" ليست كلمة الحرف.

في المثال الثاني:

preg_match("/(^|\b)@nimal/i", "something!@nimal", $match);

لا يحدث أي تطابق لأنه لا يوجد حرف كلمة قبل "@". كلاهما "!" و"@" عبارة عن أحرف ليست كلمات.

لتصحيح المشكلة، ابدأ بحرف كلمة قبل الحرف الذي ترغب في مطابقته. وهذا يضمن وجود حد صالح للكلمة.

بيان الافراج أعيد طبع هذه المقالة على: 1729466537 في حالة وجود أي انتهاك، يرجى الاتصال بـ [email protected] لحذفها
أحدث البرنامج التعليمي أكثر>

تنصل: جميع الموارد المقدمة هي جزئيًا من الإنترنت. إذا كان هناك أي انتهاك لحقوق الطبع والنشر الخاصة بك أو الحقوق والمصالح الأخرى، فيرجى توضيح الأسباب التفصيلية وتقديم دليل على حقوق الطبع والنشر أو الحقوق والمصالح ثم إرسالها إلى البريد الإلكتروني: [email protected]. سوف نتعامل مع الأمر لك في أقرب وقت ممكن.

Copyright© 2022 湘ICP备2022001581号-3