template <class charT, class traits = regex_traits<charT> > class basic_regex;
|  |  | 
| member type | definition | notes | 
|---|---|---|
| value_type | The first template parameter (charT) | The character type. | 
| traits_type | The second template parameter (traits)<char> | Regex traits (defaults to regex_traits). | 
| string_type | traits::string_type | String type (string for regex, wstring for wregex). | 
| flag_type | regex_constants::syntax_option_type | |
| locale_type | traits::locale_type | locale for the standard regex_traits. | 
| flag* | effects on syntax | Notes | 
|---|---|---|
| icase | Case insensitive | Regular expressions match without regard to case. | 
| nosubs | No sub-expressions | The match_results structure will not contain sub-expression matches. | 
| optimize | Optimize matching | Matching efficiency is preferred over efficiency constructing regex objects. | 
| collate | Locale sensitiveness | Character ranges, like "[a-b]", are affected by locale. | 
| ECMAScript | ECMAScript grammar | The regular expression follows one of these grammars. One (and only one) of these six grammar flags needs to be set for the bitmask to have a valid value. | 
| basic | Basic POSIX grammar | |
| extended | Extended POSIX grammar | |
| awk | Awk POSIX grammar | |
| grep | Grep POSIX grammar | |
| egrep | Egrep POSIX grammar |