Экранирование обратной косой черты в регулярных выражениях PHP
Чтобы экранировать обратную косую черту в шаблоне регулярного выражения PHP, можно использовать три обратных косых черты (\\ ) или четыре обратных косых черты (\\\\). Хотя оба варианта дают успешные совпадения, существуют небольшие различия в их интерпретации и использовании.
Тестовые примеры:
Рассмотрите следующие тестовые примеры:
// TEST 01: (3 backslashes) $pattern = "/^[\\\]{1,}$/"; $string = '\\'; // ----- RETURNS A MATCH ----- // TEST 02: (4 backslashes) $pattern = "/^[\\\\]{1,}$/"; $string = '\\'; // ----- ALSO RETURNS A MATCH -----
В обоих случаях возвращается совпадение, что указывает на то, что для экранирования обратной косой черты можно использовать как три, так и четыре обратных косых черты.
Интерпретация и использование:
// Matches a single backslash preg_match( '/\\\/', '\\' ); // 1 // Fails to match a literal backslash followed by a backslash preg_match( '/\\\\\s/', '\\s' ); // 0
// Matches a literal backslash followed by any character preg_match( '/\\\\\s/', '\\s' ); // 1
Рекомендация:
На основании этих наблюдений рекомендуется всегда использовать четыре обратных косых черты (\\\\) в шаблоне регулярного выражения при поиске соответствия обратная косая черта. Такой подход обеспечивает согласованность и предсказуемость сопоставления с образцом.
Отказ от ответственности: Все предоставленные ресурсы частично взяты из Интернета. В случае нарушения ваших авторских прав или других прав и интересов, пожалуйста, объясните подробные причины и предоставьте доказательства авторских прав или прав и интересов, а затем отправьте их по электронной почте: [email protected]. Мы сделаем это за вас как можно скорее.
Copyright© 2022 湘ICP备2022001581号-3