https://gcc.gnu.org/bugzilla/show_bug.cgi?id=120330
Bug ID: 120330
Summary: regex: [\B] should be legal
Product: gcc
Version: unknown
Status: UNCONFIRMED
Severity: normal
Priority: P3
Component: libstdc++
Assignee: unassigned at gcc dot gnu.org
Reporter: blubban at gmail dot com
Target Milestone: ---
#include <regex>
int main()
{
std::regex("[\\B]");
}
Expected: Successfully construct the object; \B means nothing in [], and should
be an identity escape like \Z.
Actual:
terminate called after throwing an instance of 'std::regex_error'
what(): Unexpected character within '[...]' in regular expression
https://godbolt.org/z/z8EWWY8hP
libc++ throws the same error, but for a different reason - it doesn't implement
https://cplusplus.github.io/LWG/issue2584 at all, it throws the same error for
[\Z]. https://github.com/llvm/llvm-project/issues/99976