cron正则校验
时间: 2023-07-01 14:17:32 浏览: 36
Cron表达式的正则校验可以通过以下正则表达式进行实现:
```
^(\*|[0-9]{1,2}|\*/[0-9]{1,2}|\*\/[0-9]{1,2}) (\*|[0-9]{1,2}|\*/[0-9]{1,2}|\*\/[0-9]{1,2}) (\*|[0-9]{1,2}|\*/[0-9]{1,2}|\*\/[0-9]{1,2}|\?|L|W) (\*|[0-9]{1,2}|\*/[0-9]{1,2}|\*\/[0-9]{1,2}|[A-Za-z]{3}|[0-9]{1,2}[A-Za-z]{3}) (\*|[0-9]{1,2}|\*/[0-9]{1,2}|\*\/[0-9]{1,2}|[A-Za-z]{3}|[0-9]{1,2}[A-Za-z]{3}|\?)$
```
该正则表达式可以检查Cron表达式是否符合规范,其中:
- 第一部分是分钟,取值范围为0-59,可以使用 "*" 、 "*/[n]"、 "* /[n]"、"[n]"四种方式进行表示,其中"[n]"表示具体的分钟数。
- 第二部分是小时,取值范围为0-23,可以使用 "*" 、 "*/[n]"、 "* /[n]"、"[n]"四种方式进行表示,其中"[n]"表示具体的小时数。
- 第三部分是日,取值范围为1-31,可以使用 "*" 、 "*/[n]"、 "* /[n]"、"?"、 "L"、 "W"六种方式进行表示,其中"L"表示月末,"W"表示最近的工作日。
- 第四部分是月份,取值范围为1-12,可以使用 "*" 、 "*/[n]"、 "* /[n]"、"[n]"、"[A-Za-z]{3}"五种方式进行表示,其中"[n]"表示具体的月份,"[A-Za-z]{3}"表示英文缩写的月份。
- 第五部分是星期几,取值范围为0-6,可以使用 "*" 、 "*/[n]"、 "* /[n]"、"[n]"、"[A-Za-z]{3}"、 "?"六种方式进行表示,其中"[n]"表示具体的星期几,"[A-Za-z]{3}"表示英文缩写的星期几,"?"表示任意星期几。
注意:该正则表达式仅能用于校验Cron表达式的格式是否正确,不能校验表达式的逻辑是否正确。