2012-03-08 223 views
-2

編輯:正則表達式「Url不能以'/'或'〜'開頭,不能包含'?'字符 「」

誰能幫我寫:(這裏是一個答案)
可以嘗試:

[RegularExpression(@"^([^\?~/])([^\?])*\s*$",ErrorMessage = "Url Cannot start with a '/' or '~', Cannot contain a '?' character")] 

[RegularExpression(@"^/.*\s*$", ErrorMessage = "Route Url must start with '/'")] 
+0

我試過^(/)+,但我是新來的正則表達式,希望有人能幫忙嗎?!我如何包含另一個字符「〜」和另一個要求...... – user1102391 2012-03-08 21:20:57

+0

啊。這很接近。儘管如此,插入符號'^'在方括號'[]'中未使用時標記了字符串的開頭。另外,括號'()'匹配一個組,你想要的是方括號(它匹配集合中的任何元素)。那種你有相匹配的字符串是:?![?^] /asdfkefasdf 你想要的是 /[^〜/] +/ 將匹配任何東西,除了'〜'或'/'對於第一個角色,然後什麼都不是?之後。 – 2012-03-08 21:22:18

+0

謝謝..我想我試過/ [^〜/] [^?] + /但是如果我把'〜'放在字符串裏就像「inde〜x」一樣會出錯 – user1102391 2012-03-08 21:31:43

回答

0

我不能完全知道這是否是一個或兩個問題。「網址不能以'/'開頭,必須以'/'開頭互斥。

假設是兩個問題。

1)的正則表達式:一定不是以 '/' 或 '〜' 是

/^[^\/~]/ 

,如果你使用普通的斜槓分隔符 '/'。如果您正在使用Perl的RE與備用分隔符,你可以TO-

m|^[^/~]| 

略有簡化,因爲你沒有逃脫字符類中的斜線。

2)對於RE:必須以斜槓是

/^\// 

問候:colin_e

相關問題