необходимо реализовать регулярное выражение, которое парсит из файла директивы препроцессора #include "" <>, необходимо регулярное выражение, которое учитывает, что перед #include могут быть только пробелы, между #include и "" или <> , тоже должны отсутствовать символы (кроме пробелов) и необходимо доставать имена заголовочных файлов в кавычках. Была попытка реализовать следующее выражение:
(?<=^[\s]*#include[\s]+)((")|(<))[\w]+((\.h)|(\.cpp))((")|(>))
regextesting https://www.regextester.com/97722, отображает, что регулярное выражение отрабатывает корректно, однако компилятор выдаёт ошибку о неправильном использовании регулярного выражения.
Парсить С++ регулярками не получится. Для парсинга директив препроцессора необходимо реализовать полноценный препроцессор. Собственно исходные предположения о виде директивы #include неверные. Директива может выглядеть например вот так:
#define IO <iostream> // где-то выше
#include \
IO
Основные этапы разработки сайта для стоматологической клиники
Продвижение своими сайтами как стратегия роста и независимости