syntax_option_type
Section: 28.6.4.2 [re.synopt] Status: C++17 Submitter: Nozomu Katō Opened: 2015-05-22 Last modified: 2017-07-30
Priority: 2
View all other issues in [re.synopt].
View all issues with C++17 status.
Discussion:
The specification of ECMAScript defines the Multiline property for its
RegExp and the regular expressions ^ and $ behave differently according
to the value of this property. Thus, this property should be available
also in the ECMAScript compatible engine in std::regex
.
[2015-05-22, Daniel comments]
This issue interacts somewhat with LWG 2343.
[Telecon 2015-07]
Set the priority to match LWG 2343.
[2016-08, Chicago]
Monday PM: Moved to Tentatively Ready. This also resolves 2343
Proposed resolution:
This wording is relative to N4431.
Change 28.6.4.2 [re.synopt] as indicated:
namespace std::regex_constants { typedef T1 syntax_option_type; constexpr syntax_option_type icase = unspecified ; constexpr syntax_option_type nosubs = unspecified ; constexpr syntax_option_type optimize = unspecified ; constexpr syntax_option_type collate = unspecified ; constexpr syntax_option_type ECMAScript = unspecified ; constexpr syntax_option_type basic = unspecified ; constexpr syntax_option_type extended = unspecified ; constexpr syntax_option_type awk = unspecified ; constexpr syntax_option_type grep = unspecified ; constexpr syntax_option_type egrep = unspecified ; constexpr syntax_option_type multiline = unspecified ; }
Change 28.6.4.3 [re.matchflag], Table 138 — "syntax_option_type
effects" as indicated:
Table 138 — syntax_option_type
effectsElement Effect(s) if set …
multiline
Specifies that ^
shall match the beginning of a line and$
shall match the end of a line, if the ECMAScript engine is selected.…