Compares two compiled pattern specs and returns whether they will match the same set of strings.
another GLib.PatternSpec
Whether the compiled patterns are equal
Frees the memory allocated for the GLib.PatternSpec.
Matches a string against a compiled pattern.
Passing the correct
length of the string given is mandatory. The reversed string can be
omitted by passing NULL, this is more efficient if the reversed
version of the string to be matched is not at hand, as
GLib.PatternSpec.match will only construct it if the compiled pattern
requires reverse matches.
Note that, if the user code will (possibly) match a string against a multitude of patterns containing wildcards, chances are high that some patterns will require a reversed string. In this case, it’s more efficient to provide the reversed string to avoid multiple constructions thereof in the various calls to GLib.PatternSpec.match.
Note also that the reverse of a UTF-8 encoded string can in general not be obtained by GLib.strreverse. This works only if the string does not contain any multibyte characters. GLib offers the GLib.utf8_strreverse function to reverse UTF-8 encoded strings.
the length of string (in bytes, i.e. strlen(), not GLib.utf8_strlen)
the UTF-8 encoded string to match
Optionalstring_reversed: stringthe reverse of string
true if string matches pspec
Matches a string against a compiled pattern.
If the string is to be matched against more than one pattern, consider using GLib.PatternSpec.match instead while supplying the reversed string.
the UTF-8 encoded string to match
true if string matches pspec
Staticnew
A GLib.PatternSpec struct is the ‘compiled’ form of a glob-style pattern.
The GLib.pattern_match_simple and GLib.PatternSpec.match functions match a string against a pattern containing
*and?wildcards with similar semantics as the standardglob()function:*matches an arbitrary, possibly empty, string,?matches an arbitrary character.Note that in contrast to
glob(), the/character can be matched by the wildcards, there are no[…]character ranges and*and?can not be escaped to include them literally in a pattern.When multiple strings must be matched against the same pattern, it is better to compile the pattern to a GLib.PatternSpec using GLib.PatternSpec.new and use GLib.PatternSpec.match_string instead of GLib.pattern_match_simple. This avoids the overhead of repeated pattern compilation.