使用RegEx按值查找日期和增量年份

时间:2015-06-26 19:31:52

标签: regex

我有大量包含日期的文件。我想使用正则表达式来查找日期,如果可能的话,将日期的年份增加10。

文件可以有多种日期格式..

  1. 78年4月22日
  2. 06-OCT-14
  3. 如何编写可以查找,递增和替换日期的正则表达式,甚至只写日期的年份?

    我计划使用Text Pad,UltraEdit或Notepad ++等文本编辑器来搜索文件

2 个答案:

答案 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")

您可以配置正则表达式模式以进一步概括它。或者可以轻松翻译成其他语言。希望它有所帮助!