match
Description:
public bool match (
uint 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 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 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 doesn't contain any multibyte characters. GLib offers the reverse
function to reverse UTF-8 encoded strings.
Example:
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 ());
stdout.printf ("%s\n", res.to_string ());
// Output: ``true``
str = "dilbert-1999/39/01.jpg";
res = spec.match (str.length, str, null);
stdout.printf ("%s\n", res.to_string ());
// Output: ``false``
str = "dilbert-1999X/39/01.jpg";
res = spec.match (str.length, str, null);
stdout.printf ("%s\n", res.to_string ());
return 0;
}
valac --pkg glib-2.0 GLib.PatternSpec.match.vala
Parameters:
| string_length |
the length of string (in bytes, i.e. size, not
char_count) |
| pspec |
a PatternSpec
|
| string |
the UTF-8 encoded string to match |
| string_reversed |
the reverse of string or null
|
Returns:
true if string matches pspec
|