1 // Copyright 2015 The Chromium Authors. All rights reserved. 2 // Use of this source code is governed by a BSD-style license that can be 3 // found in the LICENSE file. 4 5 #ifndef BASE_STRINGS_PATTERN_H_ 6 #define BASE_STRINGS_PATTERN_H_ 7 8 #include "base/base_export.h" 9 #include "base/strings/string_piece.h" 10 11 namespace base { 12 13 // Returns true if the string passed in matches the pattern. The pattern 14 // string can contain wildcards like * and ? 15 // 16 // The backslash character (\) is an escape character for * and ? 17 // We limit the patterns to having a max of 16 * or ? characters. 18 // ? matches 0 or 1 character, while * matches 0 or more characters. 19 BASE_EXPORT bool MatchPattern(const StringPiece& string, 20 const StringPiece& pattern); 21 BASE_EXPORT bool MatchPattern(const StringPiece16& string, 22 const StringPiece16& pattern); 23 24 } // namespace base 25 26 #endif // BASE_STRINGS_PATTERN_H_ 27