summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--src/configimpl.l5
-rw-r--r--src/template.cpp4
-rw-r--r--src/util.cpp22
3 files changed, 15 insertions, 16 deletions
diff --git a/src/configimpl.l b/src/configimpl.l
index 1afe6d8..2938eb8 100644
--- a/src/configimpl.l
+++ b/src/configimpl.l
@@ -1136,7 +1136,7 @@ static void substEnvVarsInString(QCString &str)
{
if (str.isEmpty()) return;
// match e.g. $(HOME) but also $(PROGRAMFILES(X86))
- static std::regex re("\\$\\([[:alpha:]_][[:alnum:].-]*(\\([[:alpha:]_][[:alnum:].-]*\\))?\\)");
+ static std::regex re("\\$\\(([[:alpha:]_][[:alnum:].-]*(\\([[:alpha:]_][[:alnum:].-]*\\))?)\\)");
std::string s = str.str();
std::sregex_iterator it(s.begin(),s.end(),re);
std::sregex_iterator end;
@@ -1148,8 +1148,7 @@ static void substEnvVarsInString(QCString &str)
size_t i = match.position();
size_t l = match.length();
result+=s.substr(p,i-p);
- std::string matchStr = match.str();
- std::string matchContents = matchStr.substr(2,matchStr.length()-3);
+ std::string matchContents = match[1].str();
QCString env=Portable::getenv(matchContents.c_str()); // get content of $(..) match
substEnvVarsInString(env); // recursively expand variables if needed.
result+=env.str();
diff --git a/src/template.cpp b/src/template.cpp
index d7587e6..61411be 100644
--- a/src/template.cpp
+++ b/src/template.cpp
@@ -4186,7 +4186,7 @@ class TemplateNodeMarkers : public TemplateNodeCreator<TemplateNodeMarkers>
c->push();
std::string str = patternStr.toString().str();
- static std::regex marker("@[[:digit:]]+");
+ static std::regex marker("@([[:digit:]]+)");
std::sregex_iterator re_it(str.begin(),str.end(),marker);
std::sregex_iterator end;
size_t index=0;
@@ -4204,7 +4204,7 @@ class TemplateNodeMarkers : public TemplateNodeCreator<TemplateNodeMarkers>
{
ts << part; // write text before marker
}
- unsigned long entryIndex = std::stoul(match.str().substr(1));
+ unsigned long entryIndex = std::stoul(match[1].str());
TemplateVariant var;
size_t i=0;
// search for list element at position id
diff --git a/src/util.cpp b/src/util.cpp
index 5f3dd8e..e8fcab9 100644
--- a/src/util.cpp
+++ b/src/util.cpp
@@ -222,7 +222,7 @@ QCString replaceAnonymousScopes(const char *s,const char *replacement)
{
if (s==0) return QCString();
static std::regex marker("@[[:digit:]]+");
- std::string result = regex_replace(s,marker,replacement?replacement:"__anonymous__");
+ std::string result = std::regex_replace(s,marker,replacement?replacement:"__anonymous__");
//printf("replaceAnonymousScopes('%s')='%s'\n",s.data(),result.data());
return result;
}
@@ -1096,7 +1096,7 @@ void linkifyText(const TextGeneratorIntf &out, const Definition *scope,
void writeMarkerList(OutputList &ol,const std::string &markerText,size_t numMarkers,
std::function<void(OutputList &ol,size_t index)> replaceFunc)
{
- static std::regex marker("@[[:digit:]]+");
+ static std::regex marker("@([[:digit:]]+)");
std::sregex_iterator it(markerText.begin(),markerText.end(),marker);
std::sregex_iterator end;
size_t index=0;
@@ -1107,7 +1107,7 @@ void writeMarkerList(OutputList &ol,const std::string &markerText,size_t numMark
size_t newIndex = match.position();
size_t matchLen = match.length();
ol.parseText(markerText.substr(index,newIndex-index));
- unsigned long entryIndex = std::stoul(match.str().substr(1));
+ unsigned long entryIndex = std::stoul(match[1]);
if (entryIndex<(unsigned long)numMarkers)
{
replaceFunc(ol,entryIndex);
@@ -6066,7 +6066,7 @@ static QCString expandAliasRec(StringUnorderedSet &aliasesProcessed,const std::s
{
//QCString result;
std::string result;
- std::regex re("[\\\\@][[:alpha:]_][[:alnum:]_]*");
+ std::regex re("[\\\\@]([[:alpha:]_][[:alnum:]_]*)");
std::sregex_iterator re_it(s.begin(),s.end(),re);
std::sregex_iterator end;
size_t p = 0;
@@ -6082,7 +6082,7 @@ static QCString expandAliasRec(StringUnorderedSet &aliasesProcessed,const std::s
QCString args = extractAliasArgs(s,i+l);
bool hasArgs = !args.isEmpty(); // found directly after command
int argsLen = args.length();
- QCString cmd = match.str().substr(1);
+ QCString cmd = match[1].str();
QCString cmdNoArgs = cmd;
int numArgs=0;
if (hasArgs)
@@ -6392,7 +6392,7 @@ bool readInputFile(const char *fileName,BufStr &inBuf,bool filter,bool isSourceC
QCString filterTitle(const std::string &title)
{
std::string tf;
- std::regex re("%[A-Z_A-z]");
+ std::regex re("%([A-Z_a-z]+)");
std::sregex_iterator it(title.begin(),title.end(),re);
std::sregex_iterator end;
size_t p = 0;
@@ -6402,7 +6402,7 @@ QCString filterTitle(const std::string &title)
size_t i = match.position();
size_t l = match.length();
if (i>p) tf+=title.substr(p,i-p);
- tf+=match.str().substr(1); // skip %
+ tf+=match[1].str(); // skip %
p=i+l;
}
tf+=title.substr(p);
@@ -6524,7 +6524,7 @@ QCString replaceColorMarkers(const char *str)
if (str==0) return QCString();
std::string result;
std::string s=str;
- static std::regex re("##[0-9A-Fa-f][0-9A-Fa-f]");
+ static std::regex re("##([0-9A-Fa-f][0-9A-Fa-f])");
std::sregex_iterator it(s.begin(),s.end(),re);
std::sregex_iterator end;
static int hue = Config_getInt(HTML_COLORSTYLE_HUE);
@@ -6538,7 +6538,7 @@ QCString replaceColorMarkers(const char *str)
size_t i = match.position();
size_t l = match.length();
if (i>p) result+=s.substr(p,i-p);
- std::string lumStr = match.str().substr(2);
+ std::string lumStr = match[1].str();
#define HEXTONUM(x) (((x)>='0' && (x)<='9') ? ((x)-'0') : \
((x)>='a' && (x)<='f') ? ((x)-'a'+10) : \
((x)>='A' && (x)<='F') ? ((x)-'A'+10) : 0)
@@ -7012,7 +7012,7 @@ bool classVisibleInIndex(const ClassDef *cd)
*/
QCString extractDirection(QCString &docs)
{
- std::regex re("\\[[ inout,]+\\]");
+ std::regex re("\\[([ inout,]+)\\]");
std::string s = docs.str();
std::sregex_iterator it(s.begin(),s.end(),re);
std::sregex_iterator end;
@@ -7024,7 +7024,7 @@ QCString extractDirection(QCString &docs)
if (p==0 && l>2)
{
// make dir the part inside [...] without separators
- std::string dir = match.str().substr(1,l-2);
+ std::string dir = match[1].str();
// strip , and ' ' from dir
dir.erase(std::remove_if(dir.begin(),dir.end(),
[](const char c) { return c==' ' || c==','; }