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

2023-12-05

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

例如:

我可爱的信无法阅读...

学术直接BU.tps 10.7 k03/07/201711: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

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

有人可以帮我一点吗?所以,我的期望输出应该是:

03/07/2017

02/04/2015


您可以使用

找什么: (\d{1,2}/\d{1,4}/\d{1,4})|.
用。。。来代替: (?{1}$1\n:) .匹配换行符: On

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

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

enter image description here

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

正则表达式:选择并删除文件的所有内容,“日期”格式除外 的相关文章

随机推荐