2013-04-24 30 views
0

我試圖定義一個正則表達式驗證器,它將文本框的內容限制爲僅包含字母數字字符,斜線(/),散列(#),左括號和右括號(),句點(。),撇號('),引號(「),連字符( - )和空格。插入這些字符評估失敗之一,我得到的錯誤信息。我試圖逃避這些字符不和也使用逐字這是我的最後一次嘗試。轉義散列和對正則表達式的引號

@"[ a-zA-ZÀ-ÿ/().\'-""#]" 

對這些有什麼想法?謝謝

+0

'我得到的錯誤message'思維告訴我們那是什麼? **向我們顯示您的代碼** – tnw 2013-04-24 18:39:53

回答

3

正則表達式語言足夠聰明,可以理解字符類中的句點和圓括號實際上是指字符,而不是它們通常在字符類外出現時所執行的模式。

在你的性格類,你需要躲避斜槓(\)和連字符(-),但僅此而已:

@"[ a-zA-ZÀ-ÿ/().\\'\-""#]" 

如果你移動你的連字符的字符類的末尾,你甚至不需要逃避:

@"[ a-zA-ZÀ-ÿ/().\\'""#-]" 

當然這仍然只匹配一個單個字符。如果要確保整個字符串僅包含這些字符,則需要在字符類後面使用開始(^)和結束($)錨點和量詞(*+)。

我相信你的最終模式應該是這樣的:

@"^[ a-zA-ZÀ-ÿ/().\\'""#-]*$" 
+0

明白了!謝謝! – diogod 2013-04-24 19:13:01