GLib.Regex.prototype.match
function match(string: String, match_options: GLib.RegexMatchFlags): [ok: Boolean, match_info: GLib.MatchInfo] { // Gjs wrapper for g_regex_match() }
Scans for a match in string for the pattern in regex. The match_options are combined with the match options specified when the regex structure was created, letting you have more flexibility in reusing GLib.Regex structures.
A GLib.MatchInfo structure, used to get information on the match, is stored in match_info if not null. Note that if match_info is not null then it is created even if the function returns false, i.e. you must free it regardless if regular expression actually matched.
To retrieve all the non-overlapping matches of the pattern in string you can use GLib.MatchInfo.prototype.next.
|[<!-- language="C" --> static void print_uppercase_words (const gchar *string) { // Print all uppercase-only words. GRegex *regex; GMatchInfo *match_info; regex = g_regex_new ("[A-Z]+", 0, 0, NULL); g_regex_match (regex, string, 0, &match_info); while (g_match_info_matches (match_info)) { gchar *word = g_match_info_fetch (match_info, 0); g_print ("Found: %s\n", word); g_free (word); g_match_info_next (match_info, NULL); } g_match_info_free (match_info); g_regex_unref (regex); } ]|
string is not copied and is used in GLib.MatchInfo internally. If you use any GLib.MatchInfo method (except GLib.MatchInfo.prototype.free) after freeing or modifying string then the behaviour is undefined.
Since 2.14
- string
the string to scan for matches
- match_options
match options
- ok
true is the string matched, false otherwise
- match_info
pointer to location where to store the GLib.MatchInfo, or null if you do not need it