结合两个用于ASP.NET MVC数据传播的正则表达式

时间:2015-07-16 07:11:21

标签: c# asp.net regex asp.net-mvc asp.net-mvc-4

我有两个正则表达式。

一个是开头和结尾都没有空格但是在单词之间可以有一个空格:

^[^\s]+(\s+[^\s]+)*$

第二个是允许一些特殊字符:

 ([^\\~!@#$%^&*()+=?<>|/""]*)

现在,我想将两个正则表达式组合成一个正则表达式。

我尝试过在另一篇文章中提出的|符号,但这对我不起作用。

我正在使用ASP.NET MVC数据注释。

Valid are:
"A"
"A."
"A,"
"A'S"
Invalid are:
 " A "
 " A"
 " B"
 "A@"
 "A!"

1 个答案:

答案 0 :(得分:1)

您可以使用一个正则表达式来限制前瞻中的另一个:

^(?=([^\\~!@#$%^&*()+=?<>|/""]*)$)[^\s]+(\s+[^\s]+)*$

请参阅demo(注意我在多行模式下添加了\r?用于演示目的,并且必须用文字空格替换\s,但我想这不是必需的。)