我找不到正确的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 :(得分:5)
BBEdit支持Perl样式模式扩展(请参阅手册第183页)including negative lookaheads (?!...)
。
我相信这会做你想要的:
^((?![\d\d\d\d-\d\d-\d\d]).)*$
答案 1 :(得分:1)
一个选项
"[0-9]\{4\}-[0-9]\{2\}-[0-9]\{2\}"
如果你想排除没有这种匹配的行,那么它更容易使用 grep -v