2
我正在使用asp.net,並且有許多字符串,我必須允許字母數字和一些特殊字符,例如 - > _ - [](){},。 我使用的正則表達式如正則表達式允許某些特殊字符與制動器一起使用
Regex name = new Regex("(a-zA-Z0-9 _ \[ \] \) \(\{ \} \-)*");
它不適合我。任何人都可以建議有效的正則表達式。
我正在使用asp.net,並且有許多字符串,我必須允許字母數字和一些特殊字符,例如 - > _ - [](){},。 我使用的正則表達式如正則表達式允許某些特殊字符與制動器一起使用
Regex name = new Regex("(a-zA-Z0-9 _ \[ \] \) \(\{ \} \-)*");
它不適合我。任何人都可以建議有效的正則表達式。
使用字符類主播:
Regex name = new Regex(@"^[a-zA-Z0-9_[\])({}-]*$");
這將只允許含0+ ASCII字母,數字或_
,[
,]
,)
,(
,{
,}
和-
符號的字符串。
注意,字符類中的-
沒有當放置在字符類的開始/結束進行轉義,否則你必須逃避它,一樣的]
炭在圖案上面逃脫。如果]
位於.NET的字符類的開頭,則不需要轉義,但如果需要在客戶端運行相同的正則表達式,則不能這樣做,因爲JS正則表達式要求]
在內部轉義一個角色類。
如果您不希望允許空字符串,$
之前在年底更換*
與+
。
^
是字符串錨的開始,$
是字符串錨的結尾。它們確保字符串中不能使用字符類中定義的字符以外的字符。
請注意,字符類中的空格是有意義的,只包含空格一次*如果您還想匹配(「允許」)空格。 –
謝謝,它爲我工作。還要補充。並在正則表達式中,我添加了這些字符之前 - –
@AmanChauhan:是的,或者轉義'-',不用擔心添加'.'和','的位置。 –