正则表达式:选择并删除文件的所有内容,“DATE”格式除外

时间:2017-04-20 11:19:00

标签: regex windows notepad++

我有一个包含许多日期的文件,格式为03/07/2017

例如:

  

我的可爱信不能读......

     

academicsdirectbu.tps 10.7 k 03/07/2017 11:39 -a -

     

bash:在表

之前删除文件名02/04/2015中除最后一个版本之外的所有文件

所以,我希望匹配并删除除日期格式以外的所有内容。首先,我制作了一个正则表达式来查找所有日期:

\d{1,2}/\d{1,4}/\d{1,4}

我将其包含在另一个正则表达式\b(?!(\d{1,2}/\d{1,4}/\d{1,4}))[\w-]+\b

但是,我的第二个正则表达式,除了“DATE”之外,必须选择并删除文件的所有内容,效果不太好。

任何人都可以帮我一点吗?所以,我的愿望输出应该是:

03/07/2017

02/04/2015

1 个答案:

答案 0 :(得分:0)

您可以使用

查找内容(\d{1,2}/\d{1,4}/\d{1,4})|.
替换为(?{1}$1\n:) .匹配换行符开启

注意:您还可以在日期模式周围添加单词边界,以使其更加精确,\b(\d{1,2}/\d{1,4}/\d{1,4})\b|.

现在,(\d{1,2}/\d{1,4}/\d{1,4})将匹配并将日期捕获到第1组中,如果在当前位置找不到,.将匹配任何字符。在替换模式中,日期将替换为自身,并在其后添加换行符,如果组1不匹配,则只删除char。

enter image description here