user761605
user761605

Reputation: 53

Need help with a file path validation regular expression

I am using a RegularExpressionValidator in visual studio and I am struggling to create the correct regular expression for my needs. Here is what I want:

The input can contain any character except <>:"/|?* Also, the input can not contain two backslashes in a row

So, your\mom would be ok but your\\mom would fail as would your*mom

The closest I have come at this point is something like

^(?=.*[^<>:"/|?*])(?:[^\\]+|\\(?:$|[^\\])).{0,100}$

but it doesn't work.

Upvotes: 3

Views: 908

Answers (1)

Tim Pietzcker
Tim Pietzcker

Reputation: 336108

^(?!.*\\\\)[^<>:"/|?*]*$

should do it.

(?!.*\\\\) asserts that there are no two backslashes in a row in the string.

[^<>:"/|?*]* matches any number of characters except the ones inside the character class.

That is, unless you're talking about the regex features of Visual Studio (the IDE environment itself) which has a wildly nonstandard regex flavor.

Upvotes: 1

Related Questions