Список специальных символов в регулярках в PHP
Если экранировать обычный символ - ничего страшного не случится - он все равно будет обозначать сам себя. Исключение - цифры, их нельзя экранировать.
Часто возникает сомнение, является ли данный символ специальным. Некоторые доходят до того, что экранируют все подозрительные символы подряд. Однако, это плохая практика (захламляет регулярку обратными слешами).
Являются спецсимволами: $ ^ . * + ? \
/ {} [] () |
Не являются спецсимволами: @ : , ' " ;
- _ = < > % # ~ ` & !
Дана строка:
<?php
$str = 'a.a aba aea';
?>
Напишите регулярку, которая найдет строку
'a.a', не захватив остальные.
Дана строка:
<?php
$str = '2+3 223 2223';
?>
Напишите регулярку, которая найдет строку
'2+3', не захватив остальные.
Дана строка:
<?php
$str = '23 2+3 2++3 2+++3 345 567';
?>
Напишите регулярку, которая найдет строки
'2+3', '2++3', '2+++3',
не захватив остальные (+ может быть любое
количество).
Дана строка:
<?php
$str = '23 2+3 2++3 2+++3 445 677';
?>
Напишите регулярку, которая найдет строки
'23', '2+3', '2++3',
'2+++3', не захватив остальные.
Дана строка:
<?php
$str = '*+ *q+ *qq+ *qqq+ *qqq qqq+';
?>
Напишите регулярку, которая найдет строки
'*q+', '*qq+', '*qqq+',
не захватив остальные.
Дана строка:
<?php
$str = '[abc] {abc} abc (abc) [abc]';
?>
Напишите регулярку, которая найдет строки
в квадратных скобках и заменят их на '!'.