If you need flexibility in how the brace is drawn then you could use tikz
as well:

Code:
\documentclass[12pt,a4paper]{article}
\usepackage[utf8]{inputenc}
\usepackage{pgf,tikz}
\usetikzlibrary{arrows,calc,decorations.pathreplacing}
\usepackage{mathtools}
\usepackage{xparse}
\newcommand{\tikzmark}[1]{\tikz[overlay,remember picture] \node (#1) {};}
% Tweak these as necessary
\newcommand*{\BraceAmplitude}{0.4em}%
\newcommand*{\VerticalOffset}{1.0ex}%
\newcommand*{\HorizontalOffset}{0.0em}%
\NewDocumentCommand{\InsertUnderBrace}{%
O{} % #1 = draw options
O{yshift=0.0cm} % #2 = optional brace shift options
m % #3 = left tikzmark
m % #4 = right tikzmark
m % #5 = text to place under brace
}{%
\begin{tikzpicture}[overlay,remember picture]
\draw [decoration={brace, amplitude=\BraceAmplitude}, decorate, thick, draw=blue, text=black, #1]
([#2]$(#4)+( \HorizontalOffset,-\VerticalOffset)$) --
([#2]$(#3)+(-\HorizontalOffset,-\VerticalOffset)$)
node [below=\VerticalOffset, midway, align=center] {#5};
\end{tikzpicture}%
}%
\NewDocumentCommand{\AbsWithUnderBrace}{%
s% #* = draw brace on outside
O{}% #2 = draw options
O{yshift=0.0cm}% #3 = optional brace shift options
m% #4 = content
m% #4 = underbrace content
}{%
\IfBooleanTF{#1}{%
\tikzmark{StartBraceA}\left|#4\right|\tikzmark{EndBraceA}
}{%
\left|\tikzmark{StartBraceA}#4\tikzmark{EndBraceA}\right|
}%
\InsertUnderBrace[draw=red, ultra thick, text=blue][yshift=-1.5ex]{StartBraceA}{EndBraceA}
{$O^1\left(\frac{ G_p}{r}\right)$}%
}
\begin{document}
\[
\AbsWithUnderBrace*[draw=red, ultra thick, text=blue][yshift=-1.5ex]
{-6rO^2\left(\frac{ G_p}{r}\right)-3O^2\left(\frac{ G_p}{r}\right)}
{$O^1\left(\frac{ G_p}{r}\right)$}
\qquad
\AbsWithUnderBrace[draw=red, ultra thick, text=blue][yshift=-1.5ex]
{-6rO^2\left(\frac{ G_p}{r}\right)-3O^2\left(\frac{ G_p}{r}\right)}
{$O^1\left(\frac{ G_p}{r}\right)$}
\]
\end{document}