0
我试图做这样的事情在我的OSX终端这是为什么grep的组失败
> grep -i "((\D*)ful)" ./Myfile.rtf
然而,上述语句失败当我做这个
> grep -i "\D*ful" ./Myfile.rtf
它传递 - 确实grep的有正则表达式组的问题
我试图做这样的事情在我的OSX终端这是为什么grep的组失败
> grep -i "((\D*)ful)" ./Myfile.rtf
然而,上述语句失败当我做这个
> grep -i "\D*ful" ./Myfile.rtf
它传递 - 确实grep的有正则表达式组的问题
由于基本grep使用BRE,因此您需要使用\(..\)
来捕获组。
grep -i "\(\(\D*\)ful\)" ./Myfile.rtf
发生此类事情时最可能发生的问题是特殊字符是否特殊。在这种情况下,我认为括号并不特殊,除非你引用它们,所以:
> grep -i "\(\(\D*\)ful\)" ./Myfile.rtf
可能会更好。
[正则表达式的一个刺激是已经发展到它们如何被写入的变化...]