2

尽管在网上找到了许多“匹配...不包含”主题,但我无法找到正确的 grep 表达式,因为它不匹配 BBEdit 中不包含日期的整行...

我有这个文本文件:

Some Text
Some more text,even more text,2015-06-17,2015-06-20
A third line of text
Last line of text, 2015-06-17

此表达式将选择包含日期引用的所有行,格式为 4 位 +“-”+2 位 +“-”+2 位

^.*\d\d\d\d-\d\d-\d\d.*$

我想完全相反,目的是删除所有不包含日期参考的行。我尝试过类似的解决方案

^.*[^\d\d\d\d-\d\d-\d\d].*$

但到目前为止没有成功。有人可以指出我正确的方向吗?谢谢你。

4

2 回答 2

6

BBEdit 支持 Perl 样式模式扩展(参见手册的第 183 页),包括负前瞻 (?!...)

我相信这会做你想要的:

^((?![\d\d\d\d-\d\d-\d\d]).)*$
于 2015-06-14T05:06:47.703 回答
1

一种选择

"[0-9]\{4\}-[0-9]\{2\}-[0-9]\{2\}"

如果要排除不匹配的行,则更容易使用grep -v

于 2015-06-12T11:23:23.230 回答