การหลีกเลี่ยงตัวแบ่งเขตใน PHP

หากอักขระไม่ใช่ตัวอักขระพิเศษ เมื่อคุณใช้มันเป็นตัวแบ่งเขต จะต้องทำการหลีกเลี่ยงมันในนิพจน์ทั่วไปเอง มาดูตัวอย่างกัน

สมมติว่าตัวแบ่งเขตของเราคือเครื่องหมายแฮช และภายในนิพจน์ทั่วไปเราต้องการค้นหาอักขระ แอมเพอร์แซนด์ เนื่องจากแอมเพอร์แซนด์ไม่ใช่ อักขระพิเศษ เราจึงไม่ต้องหลีกเลี่ยงมัน:

php<?php
  echo preg_replace('#a&b#', '!', 'a&b'); // แสดงผล '!'
?>

สมมติว่าตอนนี้ตัวแบ่งเขตคือแอมเพอร์แซนด์และ ภายในนิพจน์ทั่วไปเราต้องการแอมเพอร์แซนด์ด้วย ในกรณีนี้ แอมเพอร์แซนด์ภายในจะต้อง ทำการหลีกเลี่ยง มิฉะนั้นจะทำให้เกิดข้อผิดพลาดใน PHP:

php<?php
  echo preg_replace('&a\&b&', '!', 'a&b'); // แสดงผล '!'
?>
Задание 1

แก้ไขข้อผิดพลาดที่เกิดขึ้นในโค้ดต่อไปนี้:

php<?php
  echo preg_replace('#a#b#', '!', 'a#b');
?>