public static boolean isValidExpression(final String cronExpression){
CronTriggerImpl trigger = new CronTriggerImpl();
try {
trigger.setCronExpression(cronExpression);
Date date = trigger.computeFirstFireTime(null);
return date != null && date.after(new Date());
} catch (Exception e) {
LOGGER.error("[TaskUtils.isValidExpression]:failed. throw ex:" , e);
return false;
public static boolean isValidExpression(final String cronExpression){ CronTriggerImpl trigger = new CronTriggerImpl(); try { trigger.setCronExpression(cronExpression);
Cron表达式详解和表达式的验证
本篇不算原创,因为主要内容来自网上的博客,所以给出我参考文章的链接。
本文cron表达式详解的大部分内容参考了[cron表达式详解]和Quartz使用总结、Cron表达式 这两篇文章。
cron校验的内容参考了 判断cron表达式输入是否有效的正则表达式 和Verifying a cron expression is valid in Java 这两篇文章。
一、表达式组成
Cron表达式是一个字符串,字符串以5或6个空格隔开,分为6或7个域,每一个域代表一个含义,Cron
String regEx = “^\s*(KaTeX parse error: Expected 'EOF', got '#' at position 2: |#̲|\\w+\\s*=|(\\?…”;
String tests = “0 59 08 1,2 1 ?”;
System.out.println(tests.matches(regEx));
通过以上正则表达式可以判断cron是否正确。...
Cron表达式是一个字符串,字符串以5或6个空格隔开,分为6或7个域,每一个域代表一个含义,Cron有如下两种语法格式:
Seconds Minutes Hours DayofMonth Month DayofWeek Year或 Seconds Minutes Hours DayofMonth Month DayofWeek
每一个域可出现的字符如下: Seconds:可出现", - *...
Cron表达式是一个字符串,字符串以5或6个空格隔开,分为6或7个域,每一个域代表一个含义,Cron有如下两种语法格式:
都使用数字,但还可以出现如下特殊字符,它们的含义是:
(1) :表示匹配该域的任意值,假如在Minutes域使用, 即表示每分钟都会触发事件。
(2) ? :只能用在DayofMonth和DayofWeek两个域。因为DayofMonth和 DayofWeek...
Cron Validator是一种实用程序,可让您在代码库中验证cron表达式,类似于所做的事情。
:它具有更多功能和配置选项来限制范围或创建配置预设。 它包含一个应该与AWS Schedule Expressions相匹配的AWS预设。
npm install cron-validator
需要语法:
const cron = require ( 'cron-validator' ) ;
if ( cron . isValidCron ( '* * * * *' ) ) {
// Do something
或使用TypeScript导入语法:
import { isValidCron } from 'cron-validator'
if ( isValidCron ( '* * * * *' ) ) {
// Do som
原文地址先粘上来,对原来的作者表示敬意http://blog.csdn.net/zsg88/article/details/70622414
我在原作者的代码上进行了编写,使得cron表达式正确的话返回true,错误的话返回错误信息,没有很全面的测试过,也行希望如果有大佬发现错误能够指出~
有的错误信息提示没有很准确,我还没进行修改= =,比如验证月份的6L什么的,返回的错误信息我不是很满意囧~
计划任务,是任务在约定的时间执行已经计划好的工作,这是表面的意思。在Linux中,我们经常用到 cron 服务器来完成这项工作。cron服务器可以根据配置文件约定的时间来执行特定的任务。
在开发中,需要检验cron表达式的合法性以及获取执行时间。在CronUtil中实现了这些功能。
二、引入maven依赖
<dependency>
<groupId>com.cronuti
Cron表达式是一种用于定义计划性任务的语法格式,在Unix和类Unix的操作系统中被广泛应用。它由5-6个字段组成,分别表示任务启动的时间和周期等。正则表达式是一种用于匹配、查找和替换文本的模式字符串,可以用于在一些编程语言中进行字符串匹配。
Cron表达式中的每个字段都可以使用正则表达式来定义。例如,星号(*)表示“任意值”,即匹配该字段所有可能的取值,可以通过正则表达式“.*”来表示。问号(?)表示“无指定值”,即在该字段上无限制,可以使用正则表达式“^$”来表示。还有一些特殊字符,如逗号(,)表示枚举值,可以使用类似“1,2,3”的方式定义多个取值。
需要注意的是,Cron表达式中的正则表达式并不是完全通用的,它只能包含一些简单的语法元素,如模式字符、字符组、字符集合和限定符等。此外,还需要注意时间范围的匹配,例如在分钟字段中使用“0-9”表示0到9分钟,但不能使用“1-60”,因为时间范围只能从0开始。
总体来说,Cron表达式和正则表达式都是非常常用的语法格式,它们可以用于各种编程场景,如系统定时任务的调度、日志分析和文本处理等,熟练使用这两种语法可以极大提高编码效率。