diff options
Diffstat (limited to 'libcxx/test/re/re.regex/re.regex.construct')
12 files changed, 0 insertions, 561 deletions
diff --git a/libcxx/test/re/re.regex/re.regex.construct/awk_oct.pass.cpp b/libcxx/test/re/re.regex/re.regex.construct/awk_oct.pass.cpp deleted file mode 100644 index 4b7e5e62929..00000000000 --- a/libcxx/test/re/re.regex/re.regex.construct/awk_oct.pass.cpp +++ /dev/null @@ -1,28 +0,0 @@ -//===----------------------------------------------------------------------===// -// -// The LLVM Compiler Infrastructure -// -// This file is dual licensed under the MIT and the University of Illinois Open -// Source Licenses. See LICENSE.TXT for details. -// -//===----------------------------------------------------------------------===// - -// <regex> - -// template <class charT, class traits = regex_traits<charT>> class basic_regex; - -// template <class ST, class SA> -// basic_regex(const basic_string<charT, ST, SA>& s); - -#include <regex> -#include <cassert> - -int main() -{ - using std::regex_constants::awk; - - assert(std::regex_match("\4", std::regex("\\4", awk))); - assert(std::regex_match("\41", std::regex("\\41", awk))); - assert(std::regex_match("\141", std::regex("\\141", awk))); - assert(std::regex_match("\1411", std::regex("\\1411", awk))); -} diff --git a/libcxx/test/re/re.regex/re.regex.construct/bad_escape.pass.cpp b/libcxx/test/re/re.regex/re.regex.construct/bad_escape.pass.cpp deleted file mode 100644 index 9455527412b..00000000000 --- a/libcxx/test/re/re.regex/re.regex.construct/bad_escape.pass.cpp +++ /dev/null @@ -1,45 +0,0 @@ -//===----------------------------------------------------------------------===// -// -// The LLVM Compiler Infrastructure -// -// This file is dual licensed under the MIT and the University of Illinois Open -// Source Licenses. See LICENSE.TXT for details. -// -//===----------------------------------------------------------------------===// - -// <regex> - -// template <class charT, class traits = regex_traits<charT>> class basic_regex; - -// template <class ST, class SA> -// basic_regex(const basic_string<charT, ST, SA>& s); - -#include <regex> -#include <cassert> - -static bool error_escape_thrown(const char *pat) -{ - bool result = false; - try { - std::regex re(pat); - } catch (std::regex_error &ex) { - result = (ex.code() == std::regex_constants::error_escape); - } - return result; -} - -int main() -{ - assert(error_escape_thrown("[\\a]")); - assert(error_escape_thrown("\\a")); - - assert(error_escape_thrown("[\\e]")); - assert(error_escape_thrown("\\e")); - - assert(error_escape_thrown("[\\c:]")); - assert(error_escape_thrown("\\c:")); - assert(error_escape_thrown("\\c")); - assert(!error_escape_thrown("[\\cA]")); - assert(!error_escape_thrown("\\cA")); - -} diff --git a/libcxx/test/re/re.regex/re.regex.construct/copy.pass.cpp b/libcxx/test/re/re.regex/re.regex.construct/copy.pass.cpp deleted file mode 100644 index c2788f0fa2c..00000000000 --- a/libcxx/test/re/re.regex/re.regex.construct/copy.pass.cpp +++ /dev/null @@ -1,25 +0,0 @@ -//===----------------------------------------------------------------------===// -// -// The LLVM Compiler Infrastructure -// -// This file is dual licensed under the MIT and the University of Illinois Open -// Source Licenses. See LICENSE.TXT for details. -// -//===----------------------------------------------------------------------===// - -// <regex> - -// template <class charT, class traits = regex_traits<charT>> class basic_regex; - -// basic_regex(const basic_regex& e); - -#include <regex> -#include <cassert> - -int main() -{ - std::regex r1("(a([bc]))"); - std::regex r2 = r1; - assert(r2.flags() == std::regex::ECMAScript); - assert(r2.mark_count() == 2); -} diff --git a/libcxx/test/re/re.regex/re.regex.construct/default.pass.cpp b/libcxx/test/re/re.regex/re.regex.construct/default.pass.cpp deleted file mode 100644 index d959c1ec582..00000000000 --- a/libcxx/test/re/re.regex/re.regex.construct/default.pass.cpp +++ /dev/null @@ -1,32 +0,0 @@ -//===----------------------------------------------------------------------===// -// -// The LLVM Compiler Infrastructure -// -// This file is dual licensed under the MIT and the University of Illinois Open -// Source Licenses. See LICENSE.TXT for details. -// -//===----------------------------------------------------------------------===// - -// <regex> - -// template <class charT, class traits = regex_traits<charT>> class basic_regex; - -// basic_regex(); - -#include <regex> -#include <cassert> - -template <class CharT> -void -test() -{ - std::basic_regex<CharT> r; - assert(r.flags() == 0); - assert(r.mark_count() == 0); -} - -int main() -{ - test<char>(); - test<wchar_t>(); -} diff --git a/libcxx/test/re/re.regex/re.regex.construct/il_flg.pass.cpp b/libcxx/test/re/re.regex/re.regex.construct/il_flg.pass.cpp deleted file mode 100644 index 70d28df370d..00000000000 --- a/libcxx/test/re/re.regex/re.regex.construct/il_flg.pass.cpp +++ /dev/null @@ -1,70 +0,0 @@ -//===----------------------------------------------------------------------===// -// -// The LLVM Compiler Infrastructure -// -// This file is dual licensed under the MIT and the University of Illinois Open -// Source Licenses. See LICENSE.TXT for details. -// -//===----------------------------------------------------------------------===// - -// <regex> - -// template <class charT, class traits = regex_traits<charT>> class basic_regex; - -// basic_regex(initializer_list<charT> il, -// flag_type f = regex_constants::ECMAScript); - -#include <regex> -#include <cassert> - -#ifndef _LIBCPP_HAS_NO_GENERALIZED_INITIALIZERS - -void -test(std::initializer_list<char> il, std::regex_constants::syntax_option_type f, unsigned mc) -{ - std::basic_regex<char> r(il, f); - assert(r.flags() == f); - assert(r.mark_count() == mc); -} - -#endif // _LIBCPP_HAS_NO_GENERALIZED_INITIALIZERS - -int main() -{ -#ifndef _LIBCPP_HAS_NO_GENERALIZED_INITIALIZERS - std::string s1("\\(a\\)"); - std::string s2("\\(a[bc]\\)"); - std::string s3("\\(a\\([bc]\\)\\)"); - std::string s4("(a([bc]))"); - - test({'\\', '(', 'a', '\\', ')'}, std::regex_constants::basic, 1); - test({'\\', '(', 'a', '[', 'b', 'c', ']', '\\', ')'}, std::regex_constants::basic, 1); - test({'\\', '(', 'a', '\\', '(', '[', 'b', 'c', ']', '\\', ')', '\\', ')'}, std::regex_constants::basic, 2); - test({'(', 'a', '(', '[', 'b', 'c', ']', ')', ')'}, std::regex_constants::basic, 0); - - test({'\\', '(', 'a', '\\', ')'}, std::regex_constants::extended, 0); - test({'\\', '(', 'a', '[', 'b', 'c', ']', '\\', ')'}, std::regex_constants::extended, 0); - test({'\\', '(', 'a', '\\', '(', '[', 'b', 'c', ']', '\\', ')', '\\', ')'}, std::regex_constants::extended, 0); - test({'(', 'a', '(', '[', 'b', 'c', ']', ')', ')'}, std::regex_constants::extended, 2); - - test({'\\', '(', 'a', '\\', ')'}, std::regex_constants::ECMAScript, 0); - test({'\\', '(', 'a', '[', 'b', 'c', ']', '\\', ')'}, std::regex_constants::ECMAScript, 0); - test({'\\', '(', 'a', '\\', '(', '[', 'b', 'c', ']', '\\', ')', '\\', ')'}, std::regex_constants::ECMAScript, 0); - test({'(', 'a', '(', '[', 'b', 'c', ']', ')', ')'}, std::regex_constants::ECMAScript, 2); - - test({'\\', '(', 'a', '\\', ')'}, std::regex_constants::awk, 0); - test({'\\', '(', 'a', '[', 'b', 'c', ']', '\\', ')'}, std::regex_constants::awk, 0); - test({'\\', '(', 'a', '\\', '(', '[', 'b', 'c', ']', '\\', ')', '\\', ')'}, std::regex_constants::awk, 0); - test({'(', 'a', '(', '[', 'b', 'c', ']', ')', ')'}, std::regex_constants::awk, 2); - - test({'\\', '(', 'a', '\\', ')'}, std::regex_constants::grep, 1); - test({'\\', '(', 'a', '[', 'b', 'c', ']', '\\', ')'}, std::regex_constants::grep, 1); - test({'\\', '(', 'a', '\\', '(', '[', 'b', 'c', ']', '\\', ')', '\\', ')'}, std::regex_constants::grep, 2); - test({'(', 'a', '(', '[', 'b', 'c', ']', ')', ')'}, std::regex_constants::grep, 0); - - test({'\\', '(', 'a', '\\', ')'}, std::regex_constants::egrep, 0); - test({'\\', '(', 'a', '[', 'b', 'c', ']', '\\', ')'}, std::regex_constants::egrep, 0); - test({'\\', '(', 'a', '\\', '(', '[', 'b', 'c', ']', '\\', ')', '\\', ')'}, std::regex_constants::egrep, 0); - test({'(', 'a', '(', '[', 'b', 'c', ']', ')', ')'}, std::regex_constants::egrep, 2); -#endif // _LIBCPP_HAS_NO_GENERALIZED_INITIALIZERS -} diff --git a/libcxx/test/re/re.regex/re.regex.construct/iter_iter.pass.cpp b/libcxx/test/re/re.regex/re.regex.construct/iter_iter.pass.cpp deleted file mode 100644 index a38e1623419..00000000000 --- a/libcxx/test/re/re.regex/re.regex.construct/iter_iter.pass.cpp +++ /dev/null @@ -1,43 +0,0 @@ -//===----------------------------------------------------------------------===// -// -// The LLVM Compiler Infrastructure -// -// This file is dual licensed under the MIT and the University of Illinois Open -// Source Licenses. See LICENSE.TXT for details. -// -//===----------------------------------------------------------------------===// - -// <regex> - -// template <class charT, class traits = regex_traits<charT>> class basic_regex; - -// template <class ForwardIterator> -// basic_regex(ForwardIterator first, ForwardIterator last); - -#include <regex> -#include <cassert> - -#include "test_iterators.h" - -template <class Iter> -void -test(Iter first, Iter last, unsigned mc) -{ - std::basic_regex<typename std::iterator_traits<Iter>::value_type> r(first, last); - assert(r.flags() == std::regex_constants::ECMAScript); - assert(r.mark_count() == mc); -} - -int main() -{ - typedef forward_iterator<std::string::const_iterator> F; - std::string s1("\\(a\\)"); - std::string s2("\\(a[bc]\\)"); - std::string s3("\\(a\\([bc]\\)\\)"); - std::string s4("(a([bc]))"); - - test(F(s1.begin()), F(s1.end()), 0); - test(F(s2.begin()), F(s2.end()), 0); - test(F(s3.begin()), F(s3.end()), 0); - test(F(s4.begin()), F(s4.end()), 2); -} diff --git a/libcxx/test/re/re.regex/re.regex.construct/iter_iter_flg.pass.cpp b/libcxx/test/re/re.regex/re.regex.construct/iter_iter_flg.pass.cpp deleted file mode 100644 index c4c440e6d24..00000000000 --- a/libcxx/test/re/re.regex/re.regex.construct/iter_iter_flg.pass.cpp +++ /dev/null @@ -1,69 +0,0 @@ -//===----------------------------------------------------------------------===// -// -// The LLVM Compiler Infrastructure -// -// This file is dual licensed under the MIT and the University of Illinois Open -// Source Licenses. See LICENSE.TXT for details. -// -//===----------------------------------------------------------------------===// - -// <regex> - -// template <class charT, class traits = regex_traits<charT>> class basic_regex; - -// template <class ForwardIterator> -// basic_regex(ForwardIterator first, ForwardIterator last, -// flag_type f = regex_constants::ECMAScript); - -#include <regex> -#include <cassert> - -#include "test_iterators.h" - -template <class Iter> -void -test(Iter first, Iter last, std::regex_constants::syntax_option_type f, unsigned mc) -{ - std::basic_regex<typename std::iterator_traits<Iter>::value_type> r(first, last, f); - assert(r.flags() == f); - assert(r.mark_count() == mc); -} - -int main() -{ - typedef forward_iterator<std::string::const_iterator> F; - std::string s1("\\(a\\)"); - std::string s2("\\(a[bc]\\)"); - std::string s3("\\(a\\([bc]\\)\\)"); - std::string s4("(a([bc]))"); - - test(F(s1.begin()), F(s1.end()), std::regex_constants::basic, 1); - test(F(s2.begin()), F(s2.end()), std::regex_constants::basic, 1); - test(F(s3.begin()), F(s3.end()), std::regex_constants::basic, 2); - test(F(s4.begin()), F(s4.end()), std::regex_constants::basic, 0); - - test(F(s1.begin()), F(s1.end()), std::regex_constants::extended, 0); - test(F(s2.begin()), F(s2.end()), std::regex_constants::extended, 0); - test(F(s3.begin()), F(s3.end()), std::regex_constants::extended, 0); - test(F(s4.begin()), F(s4.end()), std::regex_constants::extended, 2); - - test(F(s1.begin()), F(s1.end()), std::regex_constants::ECMAScript, 0); - test(F(s2.begin()), F(s2.end()), std::regex_constants::ECMAScript, 0); - test(F(s3.begin()), F(s3.end()), std::regex_constants::ECMAScript, 0); - test(F(s4.begin()), F(s4.end()), std::regex_constants::ECMAScript, 2); - - test(F(s1.begin()), F(s1.end()), std::regex_constants::awk, 0); - test(F(s2.begin()), F(s2.end()), std::regex_constants::awk, 0); - test(F(s3.begin()), F(s3.end()), std::regex_constants::awk, 0); - test(F(s4.begin()), F(s4.end()), std::regex_constants::awk, 2); - - test(F(s1.begin()), F(s1.end()), std::regex_constants::grep, 1); - test(F(s2.begin()), F(s2.end()), std::regex_constants::grep, 1); - test(F(s3.begin()), F(s3.end()), std::regex_constants::grep, 2); - test(F(s4.begin()), F(s4.end()), std::regex_constants::grep, 0); - - test(F(s1.begin()), F(s1.end()), std::regex_constants::egrep, 0); - test(F(s2.begin()), F(s2.end()), std::regex_constants::egrep, 0); - test(F(s3.begin()), F(s3.end()), std::regex_constants::egrep, 0); - test(F(s4.begin()), F(s4.end()), std::regex_constants::egrep, 2); -} diff --git a/libcxx/test/re/re.regex/re.regex.construct/ptr.pass.cpp b/libcxx/test/re/re.regex/re.regex.construct/ptr.pass.cpp deleted file mode 100644 index b99b58b469c..00000000000 --- a/libcxx/test/re/re.regex/re.regex.construct/ptr.pass.cpp +++ /dev/null @@ -1,34 +0,0 @@ -//===----------------------------------------------------------------------===// -// -// The LLVM Compiler Infrastructure -// -// This file is dual licensed under the MIT and the University of Illinois Open -// Source Licenses. See LICENSE.TXT for details. -// -//===----------------------------------------------------------------------===// - -// <regex> - -// template <class charT, class traits = regex_traits<charT>> class basic_regex; - -// basic_regex(const charT* p); - -#include <regex> -#include <cassert> - -template <class CharT> -void -test(const CharT* p, unsigned mc) -{ - std::basic_regex<CharT> r(p); - assert(r.flags() == std::regex_constants::ECMAScript); - assert(r.mark_count() == mc); -} - -int main() -{ - test("\\(a\\)", 0); - test("\\(a[bc]\\)", 0); - test("\\(a\\([bc]\\)\\)", 0); - test("(a([bc]))", 2); -} diff --git a/libcxx/test/re/re.regex/re.regex.construct/ptr_flg.pass.cpp b/libcxx/test/re/re.regex/re.regex.construct/ptr_flg.pass.cpp deleted file mode 100644 index 138e20efbf6..00000000000 --- a/libcxx/test/re/re.regex/re.regex.construct/ptr_flg.pass.cpp +++ /dev/null @@ -1,59 +0,0 @@ -//===----------------------------------------------------------------------===// -// -// The LLVM Compiler Infrastructure -// -// This file is dual licensed under the MIT and the University of Illinois Open -// Source Licenses. See LICENSE.TXT for details. -// -//===----------------------------------------------------------------------===// - -// <regex> - -// template <class charT, class traits = regex_traits<charT>> class basic_regex; - -// basic_regex(const charT* p, flag_type f = regex_constants::ECMAScript); - -#include <regex> -#include <cassert> - -template <class CharT> -void -test(const CharT* p, std::regex_constants::syntax_option_type f, unsigned mc) -{ - std::basic_regex<CharT> r(p, f); - assert(r.flags() == f); - assert(r.mark_count() == mc); -} - -int main() -{ - test("\\(a\\)", std::regex_constants::basic, 1); - test("\\(a[bc]\\)", std::regex_constants::basic, 1); - test("\\(a\\([bc]\\)\\)", std::regex_constants::basic, 2); - test("(a([bc]))", std::regex_constants::basic, 0); - - test("\\(a\\)", std::regex_constants::extended, 0); - test("\\(a[bc]\\)", std::regex_constants::extended, 0); - test("\\(a\\([bc]\\)\\)", std::regex_constants::extended, 0); - test("(a([bc]))", std::regex_constants::extended, 2); - - test("\\(a\\)", std::regex_constants::ECMAScript, 0); - test("\\(a[bc]\\)", std::regex_constants::ECMAScript, 0); - test("\\(a\\([bc]\\)\\)", std::regex_constants::ECMAScript, 0); - test("(a([bc]))", std::regex_constants::ECMAScript, 2); - - test("\\(a\\)", std::regex_constants::awk, 0); - test("\\(a[bc]\\)", std::regex_constants::awk, 0); - test("\\(a\\([bc]\\)\\)", std::regex_constants::awk, 0); - test("(a([bc]))", std::regex_constants::awk, 2); - - test("\\(a\\)", std::regex_constants::grep, 1); - test("\\(a[bc]\\)", std::regex_constants::grep, 1); - test("\\(a\\([bc]\\)\\)", std::regex_constants::grep, 2); - test("(a([bc]))", std::regex_constants::grep, 0); - - test("\\(a\\)", std::regex_constants::egrep, 0); - test("\\(a[bc]\\)", std::regex_constants::egrep, 0); - test("\\(a\\([bc]\\)\\)", std::regex_constants::egrep, 0); - test("(a([bc]))", std::regex_constants::egrep, 2); -} diff --git a/libcxx/test/re/re.regex/re.regex.construct/ptr_size_flg.pass.cpp b/libcxx/test/re/re.regex/re.regex.construct/ptr_size_flg.pass.cpp deleted file mode 100644 index d623a15936f..00000000000 --- a/libcxx/test/re/re.regex/re.regex.construct/ptr_size_flg.pass.cpp +++ /dev/null @@ -1,60 +0,0 @@ -//===----------------------------------------------------------------------===// -// -// The LLVM Compiler Infrastructure -// -// This file is dual licensed under the MIT and the University of Illinois Open -// Source Licenses. See LICENSE.TXT for details. -// -//===----------------------------------------------------------------------===// - -// <regex> - -// template <class charT, class traits = regex_traits<charT>> class basic_regex; - -// basic_regex(const charT* p, size_t len, flag_type f); - -#include <regex> -#include <cassert> - -template <class CharT> -void -test(const CharT* p, std::size_t len, std::regex_constants::syntax_option_type f, - unsigned mc) -{ - std::basic_regex<CharT> r(p, len, f); - assert(r.flags() == f); - assert(r.mark_count() == mc); -} - -int main() -{ - test("\\(a\\)", 5, std::regex_constants::basic, 1); - test("\\(a[bc]\\)", 9, std::regex_constants::basic, 1); - test("\\(a\\([bc]\\)\\)", 13, std::regex_constants::basic, 2); - test("(a([bc]))", 9, std::regex_constants::basic, 0); - - test("\\(a\\)", 5, std::regex_constants::extended, 0); - test("\\(a[bc]\\)", 9, std::regex_constants::extended, 0); - test("\\(a\\([bc]\\)\\)", 13, std::regex_constants::extended, 0); - test("(a([bc]))", 9, std::regex_constants::extended, 2); - - test("\\(a\\)", 5, std::regex_constants::ECMAScript, 0); - test("\\(a[bc]\\)", 9, std::regex_constants::ECMAScript, 0); - test("\\(a\\([bc]\\)\\)", 13, std::regex_constants::ECMAScript, 0); - test("(a([bc]))", 9, std::regex_constants::ECMAScript, 2); - - test("\\(a\\)", 5, std::regex_constants::awk, 0); - test("\\(a[bc]\\)", 9, std::regex_constants::awk, 0); - test("\\(a\\([bc]\\)\\)", 13, std::regex_constants::awk, 0); - test("(a([bc]))", 9, std::regex_constants::awk, 2); - - test("\\(a\\)", 5, std::regex_constants::grep, 1); - test("\\(a[bc]\\)", 9, std::regex_constants::grep, 1); - test("\\(a\\([bc]\\)\\)", 13, std::regex_constants::grep, 2); - test("(a([bc]))", 9, std::regex_constants::grep, 0); - - test("\\(a\\)", 5, std::regex_constants::egrep, 0); - test("\\(a[bc]\\)", 9, std::regex_constants::egrep, 0); - test("\\(a\\([bc]\\)\\)", 13, std::regex_constants::egrep, 0); - test("(a([bc]))", 9, std::regex_constants::egrep, 2); -} diff --git a/libcxx/test/re/re.regex/re.regex.construct/string.pass.cpp b/libcxx/test/re/re.regex/re.regex.construct/string.pass.cpp deleted file mode 100644 index b58b8e03cd2..00000000000 --- a/libcxx/test/re/re.regex/re.regex.construct/string.pass.cpp +++ /dev/null @@ -1,35 +0,0 @@ -//===----------------------------------------------------------------------===// -// -// The LLVM Compiler Infrastructure -// -// This file is dual licensed under the MIT and the University of Illinois Open -// Source Licenses. See LICENSE.TXT for details. -// -//===----------------------------------------------------------------------===// - -// <regex> - -// template <class charT, class traits = regex_traits<charT>> class basic_regex; - -// template <class ST, class SA> -// basic_regex(const basic_string<charT, ST, SA>& s); - -#include <regex> -#include <cassert> - -template <class String> -void -test(const String& p, unsigned mc) -{ - std::basic_regex<typename String::value_type> r(p); - assert(r.flags() == std::regex_constants::ECMAScript); - assert(r.mark_count() == mc); -} - -int main() -{ - test(std::string("\\(a\\)"), 0); - test(std::string("\\(a[bc]\\)"), 0); - test(std::string("\\(a\\([bc]\\)\\)"), 0); - test(std::string("(a([bc]))"), 2); -} diff --git a/libcxx/test/re/re.regex/re.regex.construct/string_flg.pass.cpp b/libcxx/test/re/re.regex/re.regex.construct/string_flg.pass.cpp deleted file mode 100644 index 768de568e22..00000000000 --- a/libcxx/test/re/re.regex/re.regex.construct/string_flg.pass.cpp +++ /dev/null @@ -1,61 +0,0 @@ -//===----------------------------------------------------------------------===// -// -// The LLVM Compiler Infrastructure -// -// This file is dual licensed under the MIT and the University of Illinois Open -// Source Licenses. See LICENSE.TXT for details. -// -//===----------------------------------------------------------------------===// - -// <regex> - -// template <class charT, class traits = regex_traits<charT>> class basic_regex; - -// template <class ST, class SA> -// basic_regex(const basic_string<charT, ST, SA>& s, -// flag_type f = regex_constants::ECMAScript); - -#include <regex> -#include <cassert> - -template <class String> -void -test(const String& p, std::regex_constants::syntax_option_type f, unsigned mc) -{ - std::basic_regex<typename String::value_type> r(p, f); - assert(r.flags() == f); - assert(r.mark_count() == mc); -} - -int main() -{ - test(std::string("\\(a\\)"), std::regex_constants::basic, 1); - test(std::string("\\(a[bc]\\)"), std::regex_constants::basic, 1); - test(std::string("\\(a\\([bc]\\)\\)"), std::regex_constants::basic, 2); - test(std::string("(a([bc]))"), std::regex_constants::basic, 0); - - test(std::string("\\(a\\)"), std::regex_constants::extended, 0); - test(std::string("\\(a[bc]\\)"), std::regex_constants::extended, 0); - test(std::string("\\(a\\([bc]\\)\\)"), std::regex_constants::extended, 0); - test(std::string("(a([bc]))"), std::regex_constants::extended, 2); - - test(std::string("\\(a\\)"), std::regex_constants::ECMAScript, 0); - test(std::string("\\(a[bc]\\)"), std::regex_constants::ECMAScript, 0); - test(std::string("\\(a\\([bc]\\)\\)"), std::regex_constants::ECMAScript, 0); - test(std::string("(a([bc]))"), std::regex_constants::ECMAScript, 2); - - test(std::string("\\(a\\)"), std::regex_constants::awk, 0); - test(std::string("\\(a[bc]\\)"), std::regex_constants::awk, 0); - test(std::string("\\(a\\([bc]\\)\\)"), std::regex_constants::awk, 0); - test(std::string("(a([bc]))"), std::regex_constants::awk, 2); - - test(std::string("\\(a\\)"), std::regex_constants::grep, 1); - test(std::string("\\(a[bc]\\)"), std::regex_constants::grep, 1); - test(std::string("\\(a\\([bc]\\)\\)"), std::regex_constants::grep, 2); - test(std::string("(a([bc]))"), std::regex_constants::grep, 0); - - test(std::string("\\(a\\)"), std::regex_constants::egrep, 0); - test(std::string("\\(a[bc]\\)"), std::regex_constants::egrep, 0); - test(std::string("\\(a\\([bc]\\)\\)"), std::regex_constants::egrep, 0); - test(std::string("(a([bc]))"), std::regex_constants::egrep, 2); -} |