2010-05-29 107 views
4

我怎麼會寫一個正則表達式(C#),這將檢查一個給定的字符串,看看是否有它的字符比以下其他性質:.NET正則表達式

AZ
AZ
Æ æA A O O - '

+0

與JavaScript不同,C#沒有正則表達式作爲語言的一部分。您在詢問.NET正則表達式,而不是c#正則表達式。 – 2010-05-29 14:49:33

回答

12
new Regex("[^a-zA-ZÆæÅåØø'-]") 

[]創建一個字符類,然後^指定否定,所以一個字符匹配如果不是其中列出的那一類

+0

'''也應該排除在外。 – kennytm 2010-05-29 14:09:07

+0

謝謝,@ Kenny。 – 2010-05-29 14:12:10

+0

請注意, - 字符是列表中的最後一個。如果你想排除更多的字符,不要在 - 之後加上它們,把它們放在之前(或者用反斜槓),否則 - 的左邊和右邊的字符將被視爲字符範圍。 – 2010-05-29 15:07:16

1

您可以使用字符分組與結合否定運算符來實現此目的。

您還需要躲避 - 字符(和潛在的 ')使用\

你的最終表現將是:

[^ A-ZA-ZÆæÅåØø\ - \'] *