You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Spring Boot中@Pattern注解正则匹配问题:标题禁含指定特殊字符

解决方案

你的正则表达式只匹配单个符合要求的字符,只要标题里存在一个合法字符就会通过校验,完全不符合“整个标题都不能包含指定非法字符”的需求。要实现正确校验,需要对正则做两处修改:

  1. 用^和$锚定整个字符串,确保校验覆盖标题的全部内容
  2. 用+限定合法字符组可出现1次或多次(如果允许空标题,可替换为*)

修改后的代码如下:

@Pattern(regexp = "^[^\\\\/:*?\"<>|]+$", message = "标题不能包含\\/:*?\"<>|这些字符")
private String title;

正则规则说明

  • ^:匹配字符串的起始位置
  • [^\\\\/:*?\"<>|]:匹配任意不在非法字符列表里的字符(Java中反斜杠需转义,因此写为\\\\)
  • +:表示前面的合法字符组可出现1次或多次
  • $:匹配字符串的结束位置

这样就能确保标题的每一个字符都不属于非法字符集合,只要出现任一非法字符就会触发校验失败。

内容的提问来源于stack exchange,提问作者Tushar Agarwal

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.02 01:25:15