# Список специальных символов в регулярках в 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]'; ?>`

Напишите регулярку, которая найдет строки в квадратных скобках и заменят их на `'!'`.

← →
↑