如何將這個正規表示式與 grep 一起使用?

如何將這個正規表示式與 grep 一起使用?

我是正規表示式新手,在正規表示式教學/測試網站上找到了一個命令,該命令允許我搜尋 3 個連續的輔音。唯一的問題是我不知道如何將它與 grep 一起使用。有人會幫我嗎?我正在嘗試使用以下命令搜尋單字清單文字檔案:

(?:([bcdfghjklmnpqrstvwxzy])(?!.{1,2}\1)){3}

答案1

您擁有的正規表示式模式包含:

  • 非捕獲組,(?:)
  • 零寬度負前瞻,(?!)

grep僅由 PCRE、Perl 相容正規表示式 ( -P)支持

因此,您需要grep -P, 並僅捕獲匹配的部分-o

% grep -Po '(?:([bcdfghjklmnpqrstvwxzy])(?!.{1,2}\1)){3}' <<<'foobarspfb'
rsp

相關內容