Я пытаюсь проверить, что имя файла и путь, введенные пользователем, структурно правильны в графическом интерфейсе С#. Мне не нужно удостоверяться, что файл существует, просто имя является допустимым именем файла Windows, а путь является допустимым относительным путем из текущего рабочего каталога. Абсолютные пути должны быть явно запрещены. Regex никогда не был моей вещью.
Допустимые входные данные:
"myfiles\mydocument.pdf"
"Другая_папка\an0th3r_fi1e.fake"
".\folder\file.docx" (обозначение текущего каталога)
Отклоненные входные данные: "C:\что-нибудь"
"внутренняя папка\файлы??*>\myfile.pdf"
"папка\файл" (пробел в начале или конце)
"... .\папка, расположенная в другом месте\file.txt" (навигация вверх)
Спасибо за любую помощь!
В качестве общего руководства: MSDN 'Именование файлов, путей , и пространства имен»