2017-03-09 36 views

回答

1

使用字符類主播:

Regex name = new Regex(@"^[a-zA-Z0-9_[\])({}-]*$"); 

這將只允許含0+ ASCII字母,數字或_[])({}-符號的字符串。

注意,字符類中的-沒有當放置在字符類的開始/結束進行轉義,否則你必須逃避它,一樣的]炭在圖案上面逃脫。如果]位於.NET的字符類的開頭,則不需要轉義,但如果需要在客戶端運行相同的正則表達式,則不能這樣做,因爲JS正則表達式要求]在內部轉義一個角色類。

如果您不希望允許空字符串,$之前在年底更換*+

^是字符串錨的開始,$是字符串錨的結尾。它們確保字符串中不能使用字符類中定義的字符以外的字符。

+0

請注意,字符類中的空格是有意義的,只包含空格一次*如果您還想匹配(「允許」)空格。 –

+0

謝謝,它爲我工作。還要補充。並在正則表達式中,我添加了這些字符之前 - –

+0

@AmanChauhan:是的,或者轉義'-',不用擔心添加'.'和','的位置。 –

相關問題