我是正規表示式新手,在正規表示式教學/測試網站上找到了一個命令,該命令允許我搜尋 3 個連續的輔音。唯一的問題是我不知道如何將它與 grep 一起使用。有人會幫我嗎?我正在嘗試使用以下命令搜尋單字清單文字檔案:
(?:([bcdfghjklmnpqrstvwxzy])(?!.{1,2}\1)){3}
答案1
您擁有的正規表示式模式包含:
- 非捕獲組,
(?:)
- 零寬度負前瞻,
(?!)
grep
僅由 PCRE、Perl 相容正規表示式 ( -P
)支持
因此,您需要grep -P
, 並僅捕獲匹配的部分-o
:
% grep -Po '(?:([bcdfghjklmnpqrstvwxzy])(?!.{1,2}\1)){3}' <<<'foobarspfb'
rsp