我需要一個正則表達式,它可以接受所有字母(區分大小寫的A-Z),數字(0-9),空格和大多數字符。該字段不得接受重音符(ÁÉÚÍÓ),製表符或以下字符:反斜槓(),小於(<),大於(>),代字號(〜),等於(=),雙引號(「)或逗號(,)ASP.NET - 正則表達式排除特定字符
關於我需要什麼類型的正則表達式的任何想法?
我需要一個正則表達式,它可以接受所有字母(區分大小寫的A-Z),數字(0-9),空格和大多數字符。該字段不得接受重音符(ÁÉÚÍÓ),製表符或以下字符:反斜槓(),小於(<),大於(>),代字號(〜),等於(=),雙引號(「)或逗號(,)ASP.NET - 正則表達式排除特定字符
關於我需要什麼類型的正則表達式的任何想法?
像這樣的東西應該工作:
^([A-Za-z0-9 ]+)$
它將匹配foo bar 1234 FOO BAR
但不foo bar 1234 FOO BAR dd
或foo bar 1234 FOO BAR\
注:然後,您可以添加大多數字符方括號內。
編輯:foo bar 1234 FOO BAR dd
包含一個標籤(\t
)字符,但它正在縮小。
我想這應該你想要的字符
(?:[^\p{L}\\<>~=",\t]|[A-Za-z])
[]
表示一個字符類,還有你可以把所有的字符,你要允許
[^]
表示否定字符類,所有裏面的字符是不允許的。
所以,我不知道一個預定義的類,它包含所有不在A-Z中的字母,因此我會去替換。
第一否定類包含在\p{L}
所有字母,其餘的都是你不想讓其他角色,但因爲你要允許A-Z
,他們也是\p{L}
必須再次讓他們。這是在第二部分完成(|
是一個替代),我允許[A-Za-z]
。
所以完整的正則表達式應該是這個樣子
^(?:[^\p{L}\\<>~=",]|[A-Za-z])+$
這似乎仍然接受:<>」和重音字符 – Theomax 2012-01-31 10:35:18
我與http://regexpal.com/嘗試過了,''<','> ,''''和','導致不匹配。 – npinti 2012-01-31 10:39:49