diff --git a/Library/Homebrew/cmd/formulae.sh b/Library/Homebrew/cmd/formulae.sh
index 318d9c23555a18f937c6dbb71b7b3bc34ff9be7d..e2f803724db8cf7a4aa0b28bd4dfc152e2a9c611 100644
--- a/Library/Homebrew/cmd/formulae.sh
+++ b/Library/Homebrew/cmd/formulae.sh
@@ -5,6 +5,14 @@
 
 homebrew-formulae() {
   local formulae
+  local sed_extended_regex_flag
+
+  if [[ -n "$HOMEBREW_MACOS" ]]; then
+    sed_extended_regex_flag="-E"
+  else
+    sed_extended_regex_flag="-r"
+  fi
+
   formulae="$( \
     find "$HOMEBREW_REPOSITORY/Library/Taps" \
          -type d \( \
@@ -16,9 +24,10 @@ homebrew-formulae() {
            -name vendor \
           \) \
          -prune -false -o -name '*\.rb' | \
-    sed -r -e 's/\.rb//g' \
-           -e 's_.*/Taps/(.*)/(home|linux)brew-_\1/_' \
-           -e 's|/Formula/|/|' \
+    sed "$sed_extended_regex_flag" \
+      -e 's/\.rb//g' \
+      -e 's_.*/Taps/(.*)/(home|linux)brew-_\1/_' \
+      -e 's|/Formula/|/|' \
   )"
   local shortnames
   shortnames="$(echo "$formulae" | cut -d "/" -f 3)"