Можно использовать std::regex
.
В зависимости от размера вашего файла и доступной вам памяти, можно прочитать его либо по строкам, либо целиком в файле std::string
.
Чтобы прочитать файл , вы можете использовать:
std::ifstream t("file.txt");
std::string sin((std::istreambuf_iterator(t)),
std::istreambuf_iterator());
, после чего вы можете сопоставить это, которое на самом деле настраивается для ваших нужд.
std::regex word_regex(",\\s]+");
auto what =
std::sregex_iterator(sin.begin(), sin.end(), word_regex);
auto wend = std::sregex_iterator();
std::vector v;
for (;what!=wend ; wend) {
std::smatch match = *what;
v.push_back(match.str());
}
Проблема с вашей идеей в том, что ваша отсутствующая зависимость может иметь другие зависимости, и maven не может их узнать, прежде чем вы фактически сделаете этот артефакт доступным. Таким образом, полное решение невозможно. Частичное решение может зависеть от того, почему вы пропустили так много артефактов и как работает процедура фиксации.
У нас была ситуация, когда полный доступ к MavenCentral не был разрешен, и артефакты необходимо было скопировать из MavenCentral в хранилище компании. Я создал скрипт, который копировал артефакты вместе со всеми транзитивными зависимостями - таким образом я мог избежать большинства итеративных проблем «отсутствующих артефактов».