Subject: [Boost-bugs] [Boost C++ Libraries] #13256: regex '([|&])\1?' with backreference fails to compile if regex::nosub flag used
From: Boost C++ Libraries (noreply_at_[hidden])
Date: 2017-10-11 09:06:39
#13256: regex '([|&])\1?' with backreference fails to compile if regex::nosub flag
used
----------------------------------+--------------------------
Reporter: Gene Thomas <gene@â¦> | Owner: John Maddock
Type: Bugs | Status: new
Milestone: To Be Determined | Component: regex
Version: Boost 1.58.0 | Severity: Problem
Keywords: regex nosub |
----------------------------------+--------------------------
when compiling a regex with regex::nosubs flag set, a regex with a back
reference fails with:
Invalid back reference: specified capturing group does not exist. The
error occurred while parsing the regular expression:
'([|&])>>>HERE>>>\1?'.
Test program:
#include <boost/regex.hpp>
#include <iostream>
#include <exception>
using namespace std;
int main(int argc, char **argv) {
try {
boost::regex::flag_type flags = boost::regex::ECMAScript;
flags |= boost::regex::nosubs;
boost::regex theRegex("([|&])\\1?", flags);
cout << "ok\n";
return 0;
} catch (exception &e) {
cerr << "exception: " << e.what() << "\n";
return 1;
}
}
g++ -std=c++11 test-boost-regex-bug.cpp -o test-boost-regex-bug -l
boost_regex
-- Ticket URL: <https://svn.boost.org/trac10/boost/ticket/13256> Boost C++ Libraries <http://www.boost.org/> Boost provides free peer-reviewed portable C++ source libraries.
This archive was generated by hypermail 2.1.7 : 2017-10-11 09:13:30 UTC