In .NET is there a function that tests if a string is syntactically a correct path? I specifically don’t want it to test if the path actually exists.
my current take on this is a regex:
([a-zA-Z]:|\\)?\\?([^/\\:*?'<>|]+[/\\])*[^/\\:*?'<>|]*
matches:
c:\ bbbb \\bob/john\ ..\..\
rejects:
xy: c:\\bob
I’d suggest just using a regex for this since you specifically don’t want to test if the path exists.
Here’s something google helped me dig up:
You could combine this with System.IO.Path.GetInvalidPathChars() method and make the regex dynamically exclude all of the invalid characters.