What is a good regular expression that can validate a text string to make sure it is a valid Windows filename? (AKA not have \\/:*?\"<>| characters).
\\/:*?\"<>|
As answered already, GetInvalidFileNameChars should do it for you, and you don't even need the overhead of regular expressions:
if (proposedFilename.IndexOfAny(System.IO.Path.GetInvalidFileNameChars()) != -1) { MessageBox.Show("The filename is invalid"); return; }