[#BloombergLP-ball-PatternUtil] = xref:BloombergLP.adoc[BloombergLP]::xref:BloombergLP/ball.adoc[ball]::PatternUtil :relfileprefix: ../../ :mrdocs: This utility class provides functions relating to pattern matching for strings. == Synopsis Declared in `<ball_patternutil.h>` [source,cpp,subs="verbatim,replacements,macros,-callouts"] ---- struct PatternUtil; ---- == Static Member Functions [cols="1,4"] |=== | Name| Description | xref:BloombergLP/ball/PatternUtil/isMatch.adoc[`isMatch`] | Return `true` if the specified `pattern` matches the specified `inputString`, and `false` if the pattern does not match or is invalid. There are two types of escape sequences that are allowed in `pattern`. (See the function‐level documentation of `PatternUtil::isValidPattern` for the definition of invalid patterns.) A '*` escape sequence in `pattern' matches a single `*` in `inputString`. A '' escape sequence in `pattern` matches a single '' in `inputString`. If `pattern` ends with an unescaped `*`, then `pattern` matches `inputString` if the string indicated by `pattern` (after escape sequence processing) with the final `*` removed is a prefix of `inputString`. Otherwise `pattern` matches `inputString` only if the string indicated by `pattern` (after escape sequence processing) and `inputString` are the same. The behavior is undefined unless both `inputString` and `pattern` are null‐terminated c‐style strings. | xref:BloombergLP/ball/PatternUtil/isValidPattern.adoc[`isValidPattern`] | Return `true` if the specified `pattern` does not contain a '' not followed by either '' or `*`, or an unescaped `*` at locations other than at the end, and `false` otherwise. Note that an unescaped `*` not at the end may someday be considered a valid pattern. |=== [.small]#Created with https://www.mrdocs.com[MrDocs]#