Implements the semantics of shells patterns. The returned regular expression is unanchored by default.
Character '*' matches any sequence of characters and character '?' matches a single character. A sequence '...
' matches any one of the enclosed characters. A sequence '^...
' or '!...
' matches any character *but* the enclosed characters. A backslash escapes the following character. The last character of the string cannot be a backslash.
anchored
controls whether the regular expression will only match entire strings. Defaults to false.
pathname
: If this flag is set, match a slash in string only with a slash in pattern and not by an asterisk ('*') or a question mark ('?') metacharacter, nor by a bracket expression ('') containing a slash. Defaults to true.
period
: If this flag is set, a leading period in string has to be matched exactly by a period in pattern. A period is considered to be leading if it is the first character in string, or if both pathname
is set and the period immediately follows a slash. Defaults to true.
If expand_braces
is true, braced sets will expand into multiple globs, e.g. a{x,y}b{1,2} matches axb1, axb2, ayb1, ayb2. As specified for bash, brace expansion is purely textual and can be nested. Defaults to false.