### Method

# GLib Regex match_all

since: 2.14

#### Declaration

    gboolean
    g_regex_match_all (
      const GRegex* regex,
      const gchar* string,
      GRegexMatchFlags match_options,
      GMatchInfo** match_info
    )

#### Description

Using the standard algorithm for regular expression matching only the longest match in the string is retrieved. This function uses a different algorithm so it can retrieve all the possible matches. For more documentation see g_regex_match_all_full().

A `GMatchInfo` 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.

`string` is not copied and is used in `GMatchInfo` internally. If you use any `GMatchInfo` method (except g_match_info_free()) after freeing or modifying `string` then the behaviour is undefined.

Available since: 2.14

#### Parameters

`string`

  Type: `const gchar*`

  The string to scan for matches.

  The data is owned by the caller of the method.
  The value is a NUL terminated UTF-8 string.

`match_options`

  Type: `GRegexMatchFlags`

  Match options.

`match_info`

  Type: `GMatchInfo`

  Pointer to location where to store the `GMatchInfo`, or `NULL` if you do not need it.

  The argument will be set by the function.
  The argument can be `NULL`.
  The caller of the method takes ownership of the data, and is responsible for freeing it.

#### Return value

Type: `gboolean`

`TRUE` is the string matched, `FALSE` otherwise.