有时候不仅需要使用正则来查询,还需要替换内容,而且要替换查询的内部结果。
比如:替换日期的格式 2019/09/04 替换成 2019-09-04
这就需要用到正则里面参数的概念。
上面这个日期,使用正则查询就是
/\d+\/\d+\/\d+/g
这样查到的是一个整体,怎么替换呢,就要对三个日期中的数字设置变量,使用括号:
/(\d+)\/(\d+)\/(\d+)/g
于是,就可以使用下面的语句来替换:
$1-$2-$3
第一个括号内容就是$1,第二个就是$2,以此类推。
其实在nginx的location配置用也使用了同样的方法进行正则的局部查询。
最后,如果要直接取全部变量,就是
$&
同样,如果要把20190904这种类型的日期变成标准日期呢?
/(20[12][6-90])([01][0-9])([0-3][0-9])/g
当然,这样的话要注意会不会匹配到别的字段,比如金额或者编号,要格外小心。
替换成下面这样就可以了
$1-$2-$3