struct GPatternSpec {
  /* No available fields */

A GPatternSpec struct is the ‘compiled’ form of a glob-style pattern.

The g_pattern_match_simple() and g_pattern_spec_match() functions match a string against a pattern containing ‘‘ and ‘?’ wildcards with similar semantics as the standard glob() 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 GPatternSpec using g_pattern_spec_new() and use g_pattern_spec_match_string() instead of g_pattern_match_simple(). This avoids the overhead of repeated pattern compilation.



Compiles a pattern to a GPatternSpec.

Instance methods


Copies pspec in a new GPatternSpec.

since: 2.70


Compares two compiled pattern specs and returns whether they will match the same set of strings.


Frees the memory allocated for the GPatternSpec.


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 g_pattern_match() will only construct it if the compiled pattern requires reverse matches.

since: 2.70


Matches a string against a compiled pattern. If the string is to be matched against more than one pattern, consider using g_pattern_match() instead while supplying the reversed string.

since: 2.70