Опережающие (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) проверки" вам может быть также интересно: