PatternSpec

class PatternSpec(**kwargs)
Constructors:

new(pattern:str) -> GLib.PatternSpec

Constructors

class PatternSpec
classmethod new(pattern: str) PatternSpec

Compiles a pattern to a PatternSpec.

Parameters:

pattern – a zero-terminated UTF-8 encoded string

Methods

class PatternSpec
equal(pspec2: PatternSpec) bool

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

Parameters:

pspec2 – another PatternSpec

free() None

Frees the memory allocated for the PatternSpec.

match(string_length: int, string: str, string_reversed: str | None = None) bool

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 None, this is more efficient if the reversed version of the string to be matched is not at hand, as pattern_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 pattern_match().

Note also that the reverse of a UTF-8 encoded string can in general not be obtained by strreverse(). This works only if the string does not contain any multibyte characters. GLib offers the utf8_strreverse() function to reverse UTF-8 encoded strings.

Added in version 2.70.

Parameters:
  • string_length – the length of string (in bytes, i.e. strlen(), not utf8_strlen())

  • string – the UTF-8 encoded string to match

  • string_reversed – the reverse of string or None

match_string(string: str) bool

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

Added in version 2.70.

Parameters:

string – the UTF-8 encoded string to match