我想在我的OSX终端上做这样的事情
> grep -i "((\D*)ful)" ./Myfile.rtf
但是当我这样做时,上述陈述失败了
> grep -i "\D*ful" ./Myfile.rtf
它通过 - grep与正则表达式组有问题
答案 0 :(得分:2)
由于基本grep使用BRE,因此您需要使用\(..\)
来捕获组。
grep -i "\(\(\D*\)ful\)" ./Myfile.rtf
答案 1 :(得分:2)
发生这种事情时最可能出现的问题是特殊字符是特殊字符还是非特殊字符。在这种情况下,我认为括号不是特殊的,除非你引用它们,所以:
> grep -i "\(\(\D*\)ful\)" ./Myfile.rtf
可能会更好。
[正则表达式的一个烦恼就是它们的编写方式已经发生变化......]