Regex:

  
NODE                     EXPLANATION
--------------------------------------------------------------------------------
  (                        group and capture to \1:
--------------------------------------------------------------------------------
    \(                       '('
--------------------------------------------------------------------------------
    (                        group and capture to \2:
--------------------------------------------------------------------------------
      (                        group and capture to \3 (0 or more
                               times (matching the most amount
                               possible)):
--------------------------------------------------------------------------------
        %3F%3A                   '%3F%3A'
--------------------------------------------------------------------------------
        (                        group and capture to \4:
--------------------------------------------------------------------------------
          %3F>                     '%3F>'
--------------------------------------------------------------------------------
          [^()]                    any character except: '(', ')'
--------------------------------------------------------------------------------
          %2B                      '%2B'
--------------------------------------------------------------------------------
        )                        end of \4
--------------------------------------------------------------------------------
       |                        OR
--------------------------------------------------------------------------------
        (                        group and capture to \5:
--------------------------------------------------------------------------------
          \1                       what was matched by capture \1
--------------------------------------------------------------------------------
        )                        end of \5
--------------------------------------------------------------------------------
      )*                       end of \3 (NOTE: because you are using
                               a quantifier on this capture, only the
                               LAST repetition of the captured
                               pattern will be stored in \3)
--------------------------------------------------------------------------------
    )                        end of \2
--------------------------------------------------------------------------------
    \)                       ')'
--------------------------------------------------------------------------------
  )                        end of \1