正则表达式允许有限的特殊字符与一个字母表强制

时间:2016-04-15 12:48:05

标签: c# regex windows-runtime windows-phone-8.1

在这里,我使用了这个正则表达式至少一个字母表,休息可以是其他任何东西。

var regexItem = new Regex("[a-zA-Z]+");

现在,在此我想只允许有限的一组特殊字符: ()! + * _ - ,'“。?

我正在尝试:

var regexItem = new Regex("[a-zA-Z0-9()!+*_-,'\".?]");

但它现在正在发挥作用。

更新:我需要正则表达式,因为至少在字母表和上面提到的有限的特殊字符集上,数字等将不受限制。

更新2

有效的例子: AAA aaa13 AA!12 as()!(所有给出的字符)

无效: AAA @ @ 123 123 AAA123%#^

由于

1 个答案:

答案 0 :(得分:1)

使用此RegEx:

^(?=.*[A-Za-z])[\w\(\)\!\+\*\-\,\'\"\.\?]*$

我认为这就是你的意思,但你的问题不是很明确。它将使用肯定前瞻(?=.*[A-Za-z]))确保至少有一个字母。然后它将选择允许的字符(字母,数字和你陈述的所有特殊字符)0次或更多次

Live Demo on Regex101