我有两个正则表达式。
一个是开头和结尾都没有空格但是在单词之间可以有一个空格:
^[^\s]+(\s+[^\s]+)*$
第二个是允许一些特殊字符:
([^\\~!@#$%^&*()+=?<>|/""]*)
现在,我想将两个正则表达式组合成一个正则表达式。
我尝试过在另一篇文章中提出的|
符号,但这对我不起作用。
我正在使用ASP.NET MVC数据注释。
Valid are:
"A"
"A."
"A,"
"A'S"
Invalid are:
" A "
" A"
" B"
"A@"
"A!"
答案 0 :(得分:1)
您可以使用一个正则表达式来限制前瞻中的另一个:
^(?=([^\\~!@#$%^&*()+=?<>|/""]*)$)[^\s]+(\s+[^\s]+)*$
请参阅demo(注意我在多行模式下添加了\r?
用于演示目的,并且必须用文字空格替换\s
,但我想这不是必需的。)