1*6777b538SAndroid Build Coastguard Worker // Copyright 2008 The RE2 Authors. All Rights Reserved. 2*6777b538SAndroid Build Coastguard Worker // Use of this source code is governed by a BSD-style 3*6777b538SAndroid Build Coastguard Worker // license that can be found in the LICENSE file. 4*6777b538SAndroid Build Coastguard Worker 5*6777b538SAndroid Build Coastguard Worker #include <stdio.h> 6*6777b538SAndroid Build Coastguard Worker #include <re2/filtered_re2.h> 7*6777b538SAndroid Build Coastguard Worker #include <re2/re2.h> 8*6777b538SAndroid Build Coastguard Worker main()9*6777b538SAndroid Build Coastguard Workerint main() { 10*6777b538SAndroid Build Coastguard Worker re2::FilteredRE2 f; 11*6777b538SAndroid Build Coastguard Worker int id; 12*6777b538SAndroid Build Coastguard Worker f.Add("a.*b.*c", RE2::DefaultOptions, &id); 13*6777b538SAndroid Build Coastguard Worker std::vector<std::string> v; 14*6777b538SAndroid Build Coastguard Worker f.Compile(&v); 15*6777b538SAndroid Build Coastguard Worker std::vector<int> ids; 16*6777b538SAndroid Build Coastguard Worker f.FirstMatch("abbccc", ids); 17*6777b538SAndroid Build Coastguard Worker 18*6777b538SAndroid Build Coastguard Worker int n; 19*6777b538SAndroid Build Coastguard Worker if (RE2::FullMatch("axbyc", "a.*b.*c") && 20*6777b538SAndroid Build Coastguard Worker RE2::PartialMatch("foo123bar", "(\\d+)", &n) && n == 123) { 21*6777b538SAndroid Build Coastguard Worker printf("PASS\n"); 22*6777b538SAndroid Build Coastguard Worker return 0; 23*6777b538SAndroid Build Coastguard Worker } 24*6777b538SAndroid Build Coastguard Worker 25*6777b538SAndroid Build Coastguard Worker printf("FAIL\n"); 26*6777b538SAndroid Build Coastguard Worker return 2; 27*6777b538SAndroid Build Coastguard Worker } 28