2011-05-19 70 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