operator>

template<class BidIt>
    bool operator>(
        const sub_match<BidIt>& left,
        const sub_match<BidIt>& right);
template<class BidIt, class IOtraits, class Alloc>
    bool operator>(
        const basic_string<typename iterator_traits<BidIt>::value_type,
        IOtraits, Alloc>& left,
        const sub_match<BidIt>& right);
template<class BidIt, class IOtraits, class Alloc>
    bool operator>(
        const sub_match<BidIt>& left,
        const basic_string<typename iterator_traits<BidIt>::value_type, 
        IOtraits, Alloc>& right);
template<class BidIt>
    bool operator>(
        const typename iterator_traits<BidIt>::value_type *left,
        const sub_match<BidIt>& right);
template<class BidIt>
    bool operator>(
        const sub_match<BidIt>& left,
        const typename iterator_traits<BidIt>::value_type *right);
template<class BidIt>
    bool operator>(
        const typename iterator_traits<BidIt>::value_type& left,
        const sub_match<BidIt>& right);
template<class BidIt>
    bool operator>(
        const sub_match<BidIt>& left,
        const typename iterator_traits<BidIt>::value_type& right);

Each template operator returns right < left.