version 1.1.1.1, 2012/02/21 23:05:51
|
version 1.1.1.2, 2012/02/21 23:50:25
|
Line 384 int RE::GlobalReplace(const StringPiece& rewrite,
|
Line 384 int RE::GlobalReplace(const StringPiece& rewrite,
|
int vec[kVecSize]; |
int vec[kVecSize]; |
string out; |
string out; |
int start = 0; |
int start = 0; |
int lastend = -1; |
|
bool last_match_was_empty_string = false; |
bool last_match_was_empty_string = false; |
|
|
while (start <= static_cast<int>(str->length())) { |
while (start <= static_cast<int>(str->length())) { |
Line 440 int RE::GlobalReplace(const StringPiece& rewrite,
|
Line 439 int RE::GlobalReplace(const StringPiece& rewrite,
|
out.append(*str, start, matchstart - start); |
out.append(*str, start, matchstart - start); |
Rewrite(&out, rewrite, *str, vec, matches); |
Rewrite(&out, rewrite, *str, vec, matches); |
start = matchend; |
start = matchend; |
lastend = matchend; |
|
count++; |
count++; |
last_match_was_empty_string = (matchstart == matchend); |
last_match_was_empty_string = (matchstart == matchend); |
} |
} |