如何创建一个C#正则表达式只接受这些字符?

时间:2014-02-05 13:26:48

标签: c# .net regex

如何在c#中创建仅接受此字符的正则表达式?

    a b c d e f g h i j k l m n o p q r s t u v w x y z 
A B C D E F G H I J K L M N O P Q R S T U V W X Y Z
â Â ä Ä á à À Á
é è ê ë Ê È É Ê Ë
- ' ( ) ß 
ñ Ñ Ç ç
Ì Í ì í î ï Î Ï
ò ó ô ö Ó Ô Ö Õ
ù ú û ü Ù Ú Û Ü

我试试这个正则表达式,但我认为不正确:

"[-')(a-zA-ZâÂäÄáàÀÁéèêëÊÈÉÊËßñÑÇçÌÍìíîïÎÏòóôöÓÔÖÕùúûüÙÚÛÜ]*"

在我的单元测试中,此值最后 - '()名称与正则表达式不匹配

3 个答案:

答案 0 :(得分:2)

类似的东西:

"[-a-zA-ZâÂäÄáàÀÁéèêëÊÈÉÊË')(ßñÑÇçÌÍìíîïÎÏòóôöÓÔÖÕùúûüÙÚÛÜ]*"

答案 1 :(得分:2)

你真的想要那些字母,还是真正的问题“只允许字母和” - “()”?

查看Unicode propertiescharacter classes

[\p{L}'()-]+

\p{L}匹配任何语言的任何字母

+是一个量词,它重复前一个元素1次或更多次

答案 2 :(得分:0)

你可以这样使用:

[\p{L}()-]+