我試圖理解正則表達式的概念,但似乎錯過了某些東西。使用regularexpressions驗證MVC驗證器中的字符串
我想確保有人輸入字段中以.wav結尾的字符串。應該是一個非常簡單的正則表達式。
我試過這個... [RegularExpression(@「$。wav」)] 但似乎是不正確的。任何幫助表示讚賞。謝謝!
我試圖理解正則表達式的概念,但似乎錯過了某些東西。使用regularexpressions驗證MVC驗證器中的字符串
我想確保有人輸入字段中以.wav結尾的字符串。應該是一個非常簡單的正則表達式。
我試過這個... [RegularExpression(@「$。wav」)] 但似乎是不正確的。任何幫助表示讚賞。謝謝!
$
是字符串末尾的錨點,因此$.wav
沒有任何意義。字符串結尾後不能有任何字符。另外,.
對於正則表達式(它只是意味着'任何字符')有特殊的含義,所以你需要逃避它。
嘗試寫
\.wav$
如果還是不行,請嘗試如果RegularExpression
屬性要整個字符串,或只是其中的一部分匹配
.*\.wav$
(這要看。 .*
表示'任何字符,0次或更多次')
你應該考慮的另一件事是如何處理字段中的額外空白。用戶有一種可怕的習慣,即在輸入中增加額外的空白空間 - 這就是爲什麼各種功能非常重要的原因。在這裏,RegularExpressionAttribute
可能進行評估,然後才能修正輸入,所以你可能要這樣寫:
.*\.wav[\s]*$
的[\s]*
部分是指「任何空白字符(製表符,空格,換行符等)0次或多次」 。
你應該閱讀關於正則表達式的教程。對於這樣的簡單問題,不難理解。當我在學習時,我發現這個網站非常方便:http://www.regular-expressions.info/
非常感謝...原來是這個... [RegularExpression(@「。* wav $」)] – Zenacity
@zenacity請注意'。* wav $ '是匹配以'wav'結尾的字符串,而不是你在問題中指定的'.wav'。 – Oliver