Escapning av avgränsare i PHP

Om ett tecken inte är speciellt, så, när du använder det som en avgränsare, måste det escaped inuti det reguljära uttrycket självt. Låt oss titta på ett exempel.

Låt oss säga att fyrkanttecken fungerar som avgränsare, och inuti det reguljära uttrycket letar vi efter tecknet ampersand. Eftersom ampersand inte är ett specialtecken, så behöver vi inte escapea det:

php<?php
  echo preg_replace('#a&b#', '!', 'a&b'); // skriver ut '!'
?>

Låt oss nu säga att avgränsarna är ampersands och inuti det reguljära uttrycket behöver vi också en ampersand. I det fallet måste ampersanden inuti escapas, annars kommer det att orsaka ett PHP-fel:

php<?php
  echo preg_replace('&a\&b&', '!', 'a&b'); // skriver ut '!'
?>
Задание 1

Råtta felet som gjorts i följande kod:

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