c# - 验证属性时将两个正则表达式合二为一
问题描述
我有两个正则表达式。
[RegularExpression(@".*[^ ].*", ErrorMessage ="Something")]
验证仅包含空格的字符串(不是任何其他字符,例如:)" ".length = 7
。[RegularExpression(@"^[^~!@#$%&*]+$", ErrorMessage = "something")]
验证包含~!@#$%&*
特殊字符的字符串。
我怎样才能将两个正则表达式合二为一,因为在 asp.net mvc 中不允许重复正则表达式注释。
解决方案
您可以使用
^[^~!@#$%&*]*[^~!@#$%&*\s][^~!@#$%&*]*$
查看正则表达式演示
细节
^
- 字符串的开始[^~!@#$%&*]*
- 0+ 字符而不是~!@#$%&*
列表中的字符[^~!@#$%&*\s]
- 列表中的字符以外的字符~!@#$%&*
和空格[^~!@#$%&*]*
- 0+ 字符而不是~!@#$%&*
列表中的字符$
- 字符串结束。
注意:为了还允许空字符串,您需要在可选组内的锚点之间包装模式:^(?:[^~!@#$%&*]*[^~!@#$%&*\s][^~!@#$%&*]*)?$
.
推荐阅读
- python - 如何尽可能高效地进行一维离散碰撞检测?
- android - 最新材料设计版本中的渲染问题“不支持 Path.op()”
- gis - 无法使用在线调查数据集可视化文本调查数据
- vb.net - 从其 TabIndex 获取按钮?
- javascript - 如何仅公开 dockerd websocket 端点?
- reactjs - 如何停止/销毁bodypix
- php - Atom 编辑器 - 将其设置为 codeigniter 标准 - PSR12
- api - 如何为 NGINX 代理动态获取 API 访问令牌
- javascript - Nodemailer 自定义 SMTP 不适用于 Firebase 功能
- java - Java apache PDFBox - 合并/戳PDF覆盖在覆盖和输入PDF上维护超链接?