Boost logo

Boost :

From: Steven Watanabe (steven_at_[hidden])
Date: 2006-07-29 15:41:01


AMDG

The following regular expression seems to cover all the cases:

    boost::regex min_max_regex(
        "((^\\s*#\\s*undef\\s*\\b(min|max)\\b)|" //#undef min/max
        "(\\b(min|max)\\b\\s*\\())|" //min/max(...
        "(\"[^\"]*\")|" //character array literals
        "(\'[^\']*\')|" //character literals
        "(/\\*.*?\\*/)|" // /**/ comments
        "(//.*?$)", // // comments
        boost::regex::normal
    );

There is an error iff match_results[1].matched is true.
All that is required is to use regex_search instead of regex_iterator
and to skip to the end of each match before continuing.

In Christ,
Steven Watanabe


Boost list run by bdawes at acm.org, gregod at cs.rpi.edu, cpdaniel at pacbell.net, john at johnmaddock.co.uk