mirror of
https://git.lyx.org/repos/lyx.git
synced 2024-11-07 02:28:35 +00:00
FindAdv: Amend2 dacd2c45
: Handle search for '{' and '}'
Allow for using 'a{2,7}' to find 2 to 7 consecutive chars 'a'
This commit is contained in:
parent
a0bd34a9d1
commit
96f9c8fb19
@ -769,6 +769,7 @@ string correctRegex(string t, bool withformat)
|
||||
regex wordre("(\\\\)*(\\\\((backslash|mathcircumflex) ?|[\\[\\]\\{\\}]))");
|
||||
size_t lastpos = 0;
|
||||
smatch sub;
|
||||
bool backslashed = false;
|
||||
for (sregex_iterator it(t.begin(), t.end(), wordre), end; it != end; ++it) {
|
||||
sub = *it;
|
||||
string replace;
|
||||
@ -779,21 +780,30 @@ string correctRegex(string t, bool withformat)
|
||||
if (sub.str(4) == "backslash") {
|
||||
replace = "\\";
|
||||
if (withformat) {
|
||||
// tranforms '\backslash \{' into '\{'
|
||||
// and '\{' into '{'
|
||||
sregex_iterator it2 = it;
|
||||
++it2;
|
||||
smatch sub2 = *it2;
|
||||
if (sub2.str(3) == "{")
|
||||
replace = "";
|
||||
else if (sub2.str(3) == "}")
|
||||
if ((sub2.str(3) == "{") || (sub2.str(3) == "}")) {
|
||||
replace = "";
|
||||
backslashed = true;
|
||||
}
|
||||
}
|
||||
}
|
||||
else if (sub.str(4) == "mathcircumflex")
|
||||
replace = "^";
|
||||
else if (withformat && (sub.str(3) == "{"))
|
||||
replace = accents["braceleft"];
|
||||
else if (withformat && (sub.str(3) == "}"))
|
||||
replace = accents["braceright"];
|
||||
else if (backslashed) {
|
||||
backslashed = false;
|
||||
if (withformat && (sub.str(3) == "{"))
|
||||
replace = accents["braceleft"];
|
||||
else if (withformat && (sub.str(3) == "}"))
|
||||
replace = accents["braceright"];
|
||||
else {
|
||||
// else part should not exist
|
||||
LASSERT(1, /**/);
|
||||
}
|
||||
}
|
||||
else
|
||||
replace = sub.str(3);
|
||||
}
|
||||
|
Loading…
Reference in New Issue
Block a user