- ^ 表示匹配字符串的开始位置 (例外 用在中括号中[ ] 时,可以理解为取反,表示不匹配括号中字符串)
- $ 表示匹配字符串的结束位置
- * 表示匹配 零次到多次
- + 表示匹配 一次到多次 (至少有一次)
- ? 表示匹配零次或一次
- . (圆点)表示匹配单个字符
- | 表示为或者,两项中取一项(可用于两个正则之间)
- ( ) 小括号表示匹配括号中全部字符
- [ ] 中括号表示匹配括号中一个字符 范围描述 如[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]$"