grepで貪欲ではない正規表現を使用する方法は?

grepで貪欲ではない正規表現を使用する方法は?

これページには、非欲望の検索のために正規表現のすべての乗数の後に「?」が付くことがあることが示されています。しかし、grepで動作させる方法がわかりません。

grep -E '^.*?$' file

全文を印刷してください。

貪欲でない正規表現検索にgrepを使用する方法は?

ベストアンサー1

grepPCRE(Perl Compatible Regular Expressions)サポートが必要です。たとえば、GNUにはgrepこのオプションがあります。これは-Pこのオプションで利用できます。pcregrep一般的なパッケージングによって多くのシステムにインストールできるスタンドアロンプ​​ログラムもあります。

ERE(拡張正規表現)を有効にしても、-E非欲張りなトークン一致はサポートされません?

したがって、GNUを使用すると、次のgrepことができます。

grep -Po '^.*?foo' file

最初から最初の項目と一致(および抽出)しますfoo

おすすめ記事