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

كيفية الهروب من الخطوط المائلة العكسية في تعبيرات PHP العادية؟

تم النشر بتاريخ 2024-11-17
تصفح:551

How to Escape Backslashes in PHP Regular Expressions?

الهروب من الخطوط المائلة العكسية في تعبيرات PHP العادية

للهروب من الشرطة المائلة العكسية في نمط التعبير العادي PHP، يمكن للمرء استخدام إما ثلاث خطوط مائلة عكسية (\\ ) أو أربع خطوط مائلة عكسية (\\\\). في حين أن كلا الخيارين يؤديان إلى تطابقات ناجحة، إلا أن هناك اختلافات طفيفة في تفسيرهما واستخدامهما.

حالات الاختبار:

ضع في اعتبارك حالات الاختبار التالية:

// الاختبار 01: (3 خطوط مائلة عكسية) $pattern = "/^[\\\]{1,}$/"; $string = '\\'; // ----- إرجاع المباراة ----- // الاختبار 02: (4 خطوط مائلة عكسية) $pattern = "/^[\\\\]{1,}$/"; $string = '\\'; // ----- يُرجع مطابقة أيضًا -----
// TEST 01: (3 backslashes)
$pattern = "/^[\\\]{1,}$/";
$string = '\\';

// ----- RETURNS A MATCH -----

// TEST 02: (4 backslashes)
$pattern = "/^[\\\\]{1,}$/";
$string = '\\';

// ----- ALSO RETURNS A MATCH -----
في كلتا الحالتين، يتم إرجاع مطابقة، مما يشير إلى أنه يمكن استخدام كل من الخطوط المائلة العكسية الثلاثة والأربعة للهروب من الشرطة المائلة العكسية.

التفسير والاستخدام:

ثلاثة خطوط مائلة عكسية (\\):
    عند استخدام ثلاث خطوط مائلة عكسية، يتم تفسير النمط على أنه يطابق حرف شرطة مائلة عكسية (\). ومع ذلك، إذا كان الحرف التالي في النمط عبارة عن شرطة مائلة عكسية أيضًا، فلا يمكن مطابقة شرطة مائلة عكسية حرفية باستخدام ثلاث خطوط مائلة عكسية فقط.
  • // يطابق شرطة مائلة عكسية واحدة preg_match( '/\\\/', '\\' ); // 1 // فشل في مطابقة شرطة مائلة عكسية حرفية متبوعة بشرطة مائلة عكسية preg_match( '/\\\\\s/', '\\s' ); // 0
// TEST 01: (3 backslashes)
$pattern = "/^[\\\]{1,}$/";
$string = '\\';

// ----- RETURNS A MATCH -----

// TEST 02: (4 backslashes)
$pattern = "/^[\\\\]{1,}$/";
$string = '\\';

// ----- ALSO RETURNS A MATCH -----
أربع خطوط مائلة عكسية (\\\\):
    من ناحية أخرى، فإن استخدام أربع خطوط مائلة عكسية يتطابق دائمًا مع شرطة مائلة عكسية حرفية، بغض النظر عن الحرف التالي. وذلك لأن الشرطة المائلة العكسية الرابعة تفلت من الشرطة المائلة العكسية الثالثة، مما يجعلها حرفًا حرفيًا.
  • // تتطابق مع شرطة مائلة عكسية حرفية متبوعة بأي حرف preg_match( '/\\\\\s/', '\\s' ); // 1
التوصية:
// TEST 01: (3 backslashes)
$pattern = "/^[\\\]{1,}$/";
$string = '\\';

// ----- RETURNS A MATCH -----

// TEST 02: (4 backslashes)
$pattern = "/^[\\\\]{1,}$/";
$string = '\\';

// ----- ALSO RETURNS A MATCH -----

بناءً على هذه الملاحظات، يوصى دائمًا باستخدام أربع خطوط مائلة عكسية (\\\\) في نمط التعبير العادي عند السعي للمطابقة شرطة مائلة عكسية. يضمن هذا النهج الاتساق والقدرة على التنبؤ في مطابقة الأنماط.

أحدث البرنامج التعليمي أكثر>

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

Copyright© 2022 湘ICP备2022001581号-3