1 // { dg-do run { target c++11 } } 2 // { dg-timeout-factor 2 } 3 4 // 5 // 2013-09-02 Tim Shen <timshen91@gmail.com> 6 // 7 // Copyright (C) 2013-2021 Free Software Foundation, Inc. 8 // 9 // This file is part of the GNU ISO C++ Library. This library is free 10 // software; you can redistribute it and/or modify it under the 11 // terms of the GNU General Public License as published by the 12 // Free Software Foundation; either version 3, or (at your option) 13 // any later version. 14 // 15 // This library is distributed in the hope that it will be useful, 16 // but WITHOUT ANY WARRANTY; without even the implied warranty of 17 // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 18 // GNU General Public License for more details. 19 // 20 // You should have received a copy of the GNU General Public License along 21 // with this library; see the file COPYING3. If not see 22 // <http://www.gnu.org/licenses/>. 23 24 // 28.11.2 regex_match 25 // Tests ECMAScript empty-grouping against a C-string. 26 27 #include <regex> 28 #include <testsuite_hooks.h> 29 #include <testsuite_regex.h> 30 31 using namespace __gnu_test; 32 using namespace std; 33 34 void test01()35test01() 36 { 37 { 38 regex re("()*\\1"); 39 cmatch m; 40 const char s[] = ""; 41 VERIFY( regex_match_debug(s, m, re) ); 42 VERIFY( m.size() == 2 ); 43 VERIFY( m[0].matched ); 44 VERIFY( m[1].matched ); 45 } 46 { 47 regex re("()*"); 48 cmatch m; 49 const char s[] = ""; 50 VERIFY( regex_match_debug(s, m, re) ); 51 } 52 VERIFY(regex_match_debug("", regex("(?:)*"))); 53 } 54 55 int main()56main() 57 { 58 test01(); 59 return 0; 60 } 61