2011-05-19 71 views
3

我在Visual Studio中使用RegularExpressionValidator,并且努力为我的需要创建正确的正则表达式。这是我想要的东西:需要文件路径验证正则表达式的帮助

输入可以包含除<>:"/|?* 而且任何字符,输入不能连续包含两个反斜杠

所以,your\mom将是确定,但your\\mom会失败,因为会your*mom

我来在这一点上最接近的是一样的东西

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

,但它不工作。

+0

它必须是一个正则表达式吗?怎么样使用子字符串函数检查1.没有<>:“/ |?*是输入的子字符串,2. \\不是输入的子字符串? – 2011-05-19 19:39:45

+0

嗯,我想我可以使用自定义验证和编码它做到这一点,但下面的解决方案很好,所以我会把它称为好 – user761605 2011-05-20 18:39:19

回答

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

应该这样做。

(?!.*\\\\)声明在字符串中没有两行反斜杠。

[^<>:"/|?*]*匹配除字符类内部字符以外的任意数量的字符。

也就是说,除非你谈论Visual Studio的正则表达式特性(IDE环境本身),它具有非常不规范的正则表达式风格。

+0

伙计,你摇滚!Thankyou – user761605 2011-05-19 22:57:27