我是正则表达式新手,在正则表达式教程/测试网站上找到了一个命令,该命令允许我搜索 3 个连续的辅音。唯一的问题是我不知道如何将它与 grep 一起使用。有人会帮我吗?我正在尝试使用以下命令搜索单词列表文本文件:
(?:([bcdfghjklmnpqrstvwxzy])(?!.{1,2}\1)){3}
答案1
您拥有的正则表达式模式包含:
- 非捕获组,
(?:)
- 零宽度负前瞻,
(?!)
grep
仅由 PCRE、Perl 兼容正则表达式 ( -P
)支持
因此,您需要grep -P
, 并仅捕获匹配的部分-o
:
% grep -Po '(?:([bcdfghjklmnpqrstvwxzy])(?!.{1,2}\1)){3}' <<<'foobarspfb'
rsp