我有大量包含日期的文件。我想使用正则表达式来查找日期,如果可能的话,将日期的年份增加10。
文件可以有多种日期格式..
如何编写可以查找,递增和替换日期的正则表达式,甚至只写日期的年份?
我计划使用Text Pad,UltraEdit或Notepad ++等文本编辑器来搜索文件
答案 0 :(得分:1)
假设日期模式为date.month.year
。日期.
可以是任何字段分隔符。
您可以使用简单的perl
程序执行此操作:
perl -ne 's/(\d+)$/($1+10)/e && print' filename
这将在年份中添加10,并打印日期。
输出为:
04/22/88
06-OCT-24
答案 1 :(得分:1)
刚刚编写了这个python片段来完成它。
import re
def add_ten_years(date):
reg = "((\d{2})(.)(\w{2,4})(.)(\d{2}))"
mat = re.search(reg, date)
if mat:
mat = mat.groups()
return ''.join(mat[1:5])+str(int(mat[5])+10)
print add_ten_years("04/22/78")
print add_ten_years("06-OCT-14")
您可以配置正则表达式模式以进一步概括它。或者可以轻松翻译成其他语言。希望它有所帮助!