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