私は最初に正規表現に触れ、正規表現のチュートリアル/テストサイトで3つの連続子音を検索するためのコマンドを見つけました。唯一の問題は、grepで使用する方法がわからないことです。誰でも私を助けることができますか?以下を使用して単語リストのテキストファイルを検索します。
(?:([bcdfghjklmnpqrstvwxzy])(?!.{1,2}\1)){3}
答え1
持っている正規表現パターンには以下が含まれます。
- 非キャプチャグループ、
(?:)
- 幅0の否定予測、
(?!)
grep
PCRE、Perl互換正規表現でのみサポートされています(-P
)
したがって、必要grep -P
と一致する部分だけをキャプチャします-o
。
% grep -Po '(?:([bcdfghjklmnpqrstvwxzy])(?!.{1,2}\1)){3}' <<<'foobarspfb'
rsp