match
Description:
public bool match (size_t string_length, string str, string? str_reversed)
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.
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 g_pattern_match
.
Note also that the reverse of a UTF-8 encoded string can in general not be obtained by g_strreverse
. This works only if the string
does not contain any multibyte characters. GLib offers the reverse function to
reverse UTF-8 encoded strings.
Example: Match a string against a compiled pattern (full):
public static int main (string[] args) {
PatternSpec spec = new PatternSpec ("dilbert-????/??/??.*");
// Output: ``true``
string str = "dilbert-1999/39/01.png";
bool res = spec.match (str.length, str, str.reverse ());
print ("%s\n", res.to_string ());
// Output: ``true``
str = "dilbert-1999/39/01.jpg";
res = spec.match (str.length, str, null);
print ("%s\n", res.to_string ());
// Output: ``false``
str = "dilbert-1999X/39/01.jpg";
res = spec.match (str.length, str, null);
print ("%s\n", res.to_string ());
return 0;
}
valac --pkg glib-2.0 GLib.PatternSpec.match.vala
Parameters:
this | |
string_length |
the length of |
string |
the UTF-8 encoded string to match |
string_reversed |
the reverse of |
Returns:
true if |