欢迎来到SpringWater的博客

人生三从境界:昨夜西风凋碧树,独上高楼,望尽天涯路。 衣带渐宽终不悔,为伊消得人憔悴。 众里寻他千百度,蓦然回首,那人却在灯火阑珊处。

SpringBoot之@Pattern注解 参数验证------正则验证

  • ^ 表示匹配字符串的开始位置 (例外 用在中括号中[ ] 时,可以理解为取反,表示不匹配括号中字符串)
  • $ 表示匹配字符串的结束位置
  • * 表示匹配 零次到多次
  • + 表示匹配 一次到多次 (至少有一次)
  • ? 表示匹配零次或一次
  • . (圆点)表示匹配单个字符
  • | 表示为或者,两项中取一项(可用于两个正则之间)
  • ( ) 小括号表示匹配括号中全部字符
  • [ ] 中括号表示匹配括号中一个字符 范围描述 如[0-9 a-z A-Z]
  • { } 大括号用于限定匹配次数 如 {n}表示匹配n个字符 {n,}表示至少匹配n个字符 {n,m}表示至少n,最多m
  • \ 转义字符 如上基本符号匹配都需要转义字符 如 \*表示匹配*号
  • \w 表示英文字母和数字 \W 非字母和数字
  • \d 表示数字 \D 非数字
  • \s表示空字符串
  • 当使用-时,需要放在最后一个位置,否则会被当成数字和字母之间区间的标识

例如:如果时间你定义的为字符类型,但是又想校验时间的格式,就可以用到此注解

          1.校验时间格式为:

  • yyyy-MM-dd(时间精确到日):@Pattern中的regexp="^$|^(?:(?!0000)[0-9]{4}-(?:(?:0[1-9]|1[0-2])-(?:0[1-9]|1[0-9]|2[0-8])|(?:0[13-9]|1[0-2])-(?:29|30)|(?:0[13578]|1[02])-31)|(?:[0-9]{2}(?:0[48]|[2468][048]|[13579][26])|(?:0[48]|[2468][048]|[13579][26])00)-02-29)$"
  • yyyy-MM-dd HH:mm:ss(精确到秒):@Pattern中的regexp="^(?:(?!0000)[0-9]{4}-(?:(?:0[1-9]|1[0-2])-(?:0[1-9]|1[0-9]|2[0-8])|(?:0[13-9]|1[0-2])-(?:29|30)|(?:0[13578]|1[02])-31)|(?:[0-9]{2}(?:0[48]|[2468][048]|[13579][26])|(?:0[48]|[2468][048]|[13579][26])00)-02-29)\s+([01][0-9]|2[0-3]):[0-5][0-9]:[0-5][0-9]$"

 

posted @ 2021-03-29 14:02  骑ZHU看夕阳```  阅读(8004)  评论(1编辑  收藏  举报