|
@@ -104,24 +104,39 @@ int main()
|
|
}
|
|
}
|
|
{
|
|
{
|
|
std::cmatch m;
|
|
std::cmatch m;
|
|
- const char s[] = "abcdefghijk";
|
|
|
|
- assert(std::regex_search(s, m, std::regex("cd\\(\\(e\\)fg\\)hi",
|
|
|
|
- std::regex_constants::basic)));
|
|
|
|
- assert(m.size() == 3);
|
|
|
|
- assert(m.prefix().matched);
|
|
|
|
|
|
+ const char s[] = "abbc";
|
|
|
|
+ assert(std::regex_search(s, m, std::regex("ab*c", std::regex_constants::basic)));
|
|
|
|
+ assert(m.size() == 1);
|
|
|
|
+ assert(!m.prefix().matched);
|
|
assert(m.prefix().first == s);
|
|
assert(m.prefix().first == s);
|
|
assert(m.prefix().second == m[0].first);
|
|
assert(m.prefix().second == m[0].first);
|
|
- assert(m.suffix().matched);
|
|
|
|
|
|
+ assert(!m.suffix().matched);
|
|
assert(m.suffix().first == m[0].second);
|
|
assert(m.suffix().first == m[0].second);
|
|
- assert(m.suffix().second == s+std::regex_traits<char>::length(s));
|
|
|
|
- assert(m.length(0) == 7);
|
|
|
|
- assert(m.position(0) == 2);
|
|
|
|
- assert(m.str(0) == "cdefghi");
|
|
|
|
- assert(m.length(1) == 3);
|
|
|
|
- assert(m.position(1) == 4);
|
|
|
|
- assert(m.str(1) == "efg");
|
|
|
|
- assert(m.length(2) == 1);
|
|
|
|
- assert(m.position(2) == 4);
|
|
|
|
- assert(m.str(2) == "e");
|
|
|
|
|
|
+ assert(m.suffix().second == s+4);
|
|
|
|
+ assert(m.length(0) == 4);
|
|
|
|
+ assert(m.position(0) == 0);
|
|
|
|
+ assert(m.str(0) == s);
|
|
}
|
|
}
|
|
|
|
+// {
|
|
|
|
+// std::cmatch m;
|
|
|
|
+// const char s[] = "abcdefghijk";
|
|
|
|
+// assert(std::regex_search(s, m, std::regex("cd\\(\\(e\\)fg\\)hi",
|
|
|
|
+// std::regex_constants::basic)));
|
|
|
|
+// assert(m.size() == 3);
|
|
|
|
+// assert(m.prefix().matched);
|
|
|
|
+// assert(m.prefix().first == s);
|
|
|
|
+// assert(m.prefix().second == m[0].first);
|
|
|
|
+// assert(m.suffix().matched);
|
|
|
|
+// assert(m.suffix().first == m[0].second);
|
|
|
|
+// assert(m.suffix().second == s+std::regex_traits<char>::length(s));
|
|
|
|
+// assert(m.length(0) == 7);
|
|
|
|
+// assert(m.position(0) == 2);
|
|
|
|
+// assert(m.str(0) == "cdefghi");
|
|
|
|
+// assert(m.length(1) == 3);
|
|
|
|
+// assert(m.position(1) == 4);
|
|
|
|
+// assert(m.str(1) == "efg");
|
|
|
|
+// assert(m.length(2) == 1);
|
|
|
|
+// assert(m.position(2) == 4);
|
|
|
|
+// assert(m.str(2) == "e");
|
|
|
|
+// }
|
|
}
|
|
}
|