On OSX grep can I use look ahead?
This works:
$ echo "$Foo" | grep "Android SDK Build-tools" | grep -Eo "\d+(?:-)"
4-
5-
6-
7-
8-
9-
This does not:
$ echo "$Foo" | grep "Android SDK Build-tools" | grep -Eo "\d+(?=-)"
grep: repetition-operator operand invalid
Can I use lookahead if I want to with the OSX supplied version of grep?
Solution 1:
grep in macOS does not support lookahead. For more information about the regex syntax supported in the default macOS binaries, see re_format(7).
If you need to use such a regex, you can install GNU grep with Homebrew (brew install grep
then use ggrep
) and use the -P option to enable Perl regex syntax which does support your regex.