很多时候需要把系统中的时间替换成当前时间,这是后我们就可以把数据库SQL文件在IDEA中打开,然后使用正则进行替换,下面我们来看下:
1.日期格式:校验yyyy-MM-dd
((([0-9]{3}[1-9]|[0-9]{2}[1-9][0-9]{1}|[0-9]{1}[1-9][0-9]{2}|[1-9][0-9]{3})-(((0[13578]|1[02])-(0[1-9]|[12][0-9]|3[01]))|((0[469]|11)-(0[1-9]|[12][0-9]|30))|(02-(0[1-9]|[1][0-9]|2[0-8]))))|((([0-9]{2})(0[48]|[2468][048]|[13579][26])|((0[48]|[2468][048]|[3579][26])00))-02-29))
效果如下图:
这样就能替换所有日期
2.时间格式:校验HH:mm:ss
([0-1]?[0-9]|2[0-3]):([0-5][0-9]):([0-5][0-9])
效果如下:
3.时间日期格式:校验 yyyy-MM-dd HH:mm:ss(日期和时间之间有一个空格)
其实就是把上面两个拼起来,在中间加个空格\s
((([0-9]{3}[1-9]|[0-9]{2}[1-9][0-9]{1}|[0-9]{1}[1-9][0-9]{2}|[1-9][0-9]{3})-(((0[13578]|1[02])-(0[1-9]|[12][0-9]|3[01]))|((0[469]|11)-(0[1-9]|[12][0-9]|30))|(02-(0[1-9]|[1][0-9]|2[0-8]))))|((([0-9]{2})(0[48]|[2468][048]|[13579][26])|((0[48]|[2468][048]|[3579][26])00))-02-29))\s+([0-1]?[0-9]|2[0-3]):([0-5][0-9]):([0-5][0-9])
效果如下:
但是我们看到时间日期左右各有一个单引号,替换成now()函数会出问题,要把单引号也替换掉,所以在正则表达式左右两边各加一个单引号,插入数据库后就变成了当前系统时间,替换后效果如下: