GLib.PatternSpec¶
Fields¶
None
Methods¶
class |
|
|
|
|
|
|
|
|
|
|
Details¶
- class GLib.PatternSpec¶
A
GPatternSpec
struct is the ‘compiled’ form of a glob-style pattern.The [func`GLib`.pattern_match_simple] and [method`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 [struct`GLib`.PatternSpec] using [ctor`GLib`.PatternSpec.new] and use [method`GLib`.PatternSpec.match_string] instead of [func`GLib`.pattern_match_simple]. This avoids the overhead of repeated pattern compilation.
- classmethod new(pattern)[source]¶
- Parameters:
pattern (
str
) – a zero-terminated UTF-8 encoded string- Returns:
a newly-allocated [type`GLib`.PatternSpec]
- Return type:
Compiles a pattern to a [type`GLib`.PatternSpec].
- copy()[source]¶
- Returns:
a copy of self.
- Return type:
Copies self in a new [type`GLib`.PatternSpec].
New in version 2.70.
- equal(pspec2)[source]¶
- Parameters:
pspec2 (
GLib.PatternSpec
) – anotherGLib.PatternSpec
- Returns:
Whether the compiled patterns are equal
- Return type:
Compares two compiled pattern specs and returns whether they will match the same set of strings.
- match(string_length, string, string_reversed)[source]¶
- Parameters:
- Returns:
True
if string matches self- Return type:
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 [method`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 [method`GLib`.PatternSpec.match].
Note also that the reverse of a UTF-8 encoded string can in general not be obtained by [func`GLib`.strreverse]. This works only if the string does not contain any multibyte characters. GLib offers the [func`GLib`.utf8_strreverse] function to reverse UTF-8 encoded strings.
New in version 2.70.
- match_string(string)[source]¶
- Parameters:
string (
str
) – the UTF-8 encoded string to match- Returns:
True
if string matches self- Return type:
Matches a string against a compiled pattern.
If the string is to be matched against more than one pattern, consider using [method`GLib`.PatternSpec.match] instead while supplying the reversed string.
New in version 2.70.