动态正则表达式的妙用

前端之家收集整理的这篇文章主要介绍了动态正则表达式的妙用前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。

今天一个朋友想要实现将一个文本文件中的时间向前推8个小时,以下是文本的格式,将其中的"20121105 10"替换为“20121105 02”

看起来似乎比较简单,但是问题是,如果遇到小时8小时的,就得向前推一天,如果遇到一个月的第一天,就得向前推一个月,并且

判断那个月有多少天,因此需要很多的分支语句来完成。

借助Matlab强大的时间操作函数datenum,将时间转换成天,然后减去1/3天,再用datestr函数格式化输出,但是这一切有了动态

的正则表达式,就如虎添翼了


以下是我的实现过程

fprintf(fopen('test2.txt','w'),'%s',... regexprep(fileread('A.TXT'),'(\d{8}\s\d{2})',... '${datestr(datenum($1,''yyyymmdd HH'')-1/3,''yyyymmdd HH'')}'));

猜你在找的正则表达式相关文章