【问题标题】:Combining two regex for ASP.NET MVC data annoation结合 ASP.NET MVC 数据注释的两个正则表达式
【发布时间】:2015-07-16 07:11:21
【问题描述】:

我有两个正则表达式。

一个表示开头和结尾没有空格,但单词之间可以有空格:

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

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

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

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

我已尝试使用另一篇帖子中建议的 | 符号,但这对我不起作用。

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

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

【问题讨论】:

  • 你能发布有效的输入吗
  • 听起来Trim 完全符合您的第一个操作...您能否解释一下“不工作”的含义?

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


【解决方案1】:

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

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

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

【讨论】:

  • 它对你有用吗?如果没有,或者您有疑问,请提供确切的要求,如果可能,请提供您使用正则表达式模式的代码。
猜你喜欢
  • 1970-01-01
  • 2015-01-14
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2011-09-19
相关资源
最近更新 更多