在BBEdit中不包含模式的匹配线与Grep

在BBEdit中不包含模式的匹配线与Grep,grep,bbedit,Grep,Bbedit,我很难找到正确的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.*$ 我想要完全

我很难找到正确的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].*$
但到目前为止还没有成功。有人能给我指出正确的方向吗? 谢谢。

一个选项

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

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

BBEdit支持Perl样式的模式扩展(请参阅手册第183页)
(?!…)

我相信这会满足你的要求:

^((?![\d\d\d\d-\d\d-\d\d]).)*$

谢谢您的建议使我将表达式简化为:
[0-9]{4}-[0-9]{2}-[0-9]{2}
。不过,我不能使用-v选项,因为我在搜索和替换窗口中使用了BBEdit特定的grep功能。谢谢。效果很好。这确实很好,但需要更多的解释。我试图做类似的事情,知道我需要一个消极的前瞻,但创建了如下内容:
^.*(![^\d\d\d\d-\d\d]).$
,直到找到此页面。显然,我不完全理解附加括号的用法,以及为什么在开始时不需要
*
。如果有人能在评论或编辑答案中详细说明,我将不胜感激。