2

BBEdit で日付を含まない行全体と一致しないための正しい grep 式を見つけるのに苦労していますが、Web でこれに関する多くの「一致する ... 含まない」トピックを見つけました...

私はこのテキスト文書を持っています:

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

1 つのオプション

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

これと一致しない行を除外したい場合は、grep -vを使用する方が簡単です

于 2015-06-12T11:23:23.230 に答える