Я хочу разделить UNC-путь для имени хоста, общей папки, пути, имени файла и расширения. Я почти получил это, но последняя последовательность как-то не так, потому что я не получил файл fileem правильно.
например
//host/shared/path1/path2/path3/filename.pdf
следует разделить на:
host
shared
path1/path2/path3
filename
pdf
Но на данный момент я получаю что-то вроде этого:
host
shared
path1/path2/path3/filenam
e
pdf
используя это регулярное выражение:
std::regex rgx("\/\/(\\w+?){1,1}\/(\\w+?)\/([\\w\/]+)([^\\.])\\.(.+)$");
Так что с ним не так и как я могу это решить?
Вы хотите удалить группу «([^ \\.])» Как следующую «\\.» соответствует периоду в конце. Вы также хотите, чтобы другая группа слов соответствовала имени самого файла, за которым следует точка, например:
std::regex rgx("\/\/(\\w+?){1,1}\/(\\w+?)\/([\\w\/]+)\/([\\w]+)\\.(.+)$");
Других решений пока нет …