Опережающие (look-ahead) проверки

Look-ahead (опережающие) проверки позволяют проверять выражение, но не являются частью выражения (т.е. не будут заменены в preg_replace, например).

Допустим, надо заменить все буквы a, за которыми идет b:

$res = preg_replace('/a(?=b)/', '', 'abaabaacba'); //$res: 'babaacba';

Если нужно, удалить a, после которых любой символ, кроме b, нужно поменять только один знак:

$res = preg_replace('/a(?!b)/', '', 'abaabaacba'); //$res: 'ababcb';

31.07.2019
Помимо "Опережающие (look-ahead) проверки" вам может быть также интересно: