Ausnahmen innerhalb von Zeichenklassen in regulären Ausdrücken in PHP
Sie wissen bereits, dass Sonderzeichen innerhalb von []
zu gewöhnlichen Zeichen werden. Es gibt jedoch
Ausnahmen: Wenn Sie eckige Klammern
als Zeichen benötigen, müssen diese mit einem Backslash
gequotet werden.
Als Beispiel sieht im folgenden Code das Suchmuster so aus: zwischen den X steht eine eckige Klammer:
<?php
$str = 'x]x xax x[x x1x';
$res = preg_replace('#x[\[\]]x#', '!', $str);
?>
In die Variable wird folgendes geschrieben:
'! xax ! x1x'
Gegeben ist der String:
<?php
$str = 'x[]z x{}z x.z x()z';
?>
Schreiben Sie einen regulären Ausdruck, der alle Wörter findet,
die dem Muster entsprechen: Buchstabe 'x', dann eine beliebige
Anzahl beliebiger Klammern, dann Buchstabe 'z'.
Gegeben ist der String:
<?php
$str = '[abc] {abc} abc (abc) [abc]';
?>
Schreiben Sie einen regulären Ausdruck, der die Strings
in beliebigen Klammern findet und durch '!' ersetzt.