Skip to content
Snippets Groups Projects
Verified Commit b1905dd5 authored by Houtan Bastani's avatar Houtan Bastani
Browse files

fix lookbehind to handle `-` sign in substitution of dates in native statements

closes dynare#1708

(cherry picked from commit a778ba4a)
parent d5a2ee24
No related branches found
No related tags found
No related merge requests found
...@@ -54,7 +54,7 @@ NativeStatement::writeOutput(ostream &output, const string &basename, bool minim ...@@ -54,7 +54,7 @@ NativeStatement::writeOutput(ostream &output, const string &basename, bool minim
{ {
using namespace boost::xpressive; using namespace boost::xpressive;
string date_regex = R"((-?\d+([YyAa]|[Mm]([1-9]|1[0-2])|[Qq][1-4])))"; string date_regex = R"((-?\d+([YyAa]|[Mm]([1-9]|1[0-2])|[Qq][1-4])))";
sregex regex_lookbehind = sregex::compile(R"((?<!\$|\d|[a-zA-Z_]|\'))" + date_regex); sregex regex_lookbehind = sregex::compile(R"((?<!\$|[a-zA-Z_]|-|'))" + date_regex);
sregex regex_dollar = sregex::compile(R"((\$))" + date_regex); sregex regex_dollar = sregex::compile(R"((\$))" + date_regex);
string ns = regex_replace(native_statement, regex_lookbehind, "dates('$&')"); string ns = regex_replace(native_statement, regex_lookbehind, "dates('$&')");
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment