Lines Matching full:regex
10 docs/reference/glib/regex-syntax.xml | 46 --
15 glib/tests/regex.c | 175 ++--
22 diff --git a/docs/reference/glib/regex-syntax.xml b/docs/reference/glib/regex-syntax.xml
24 --- a/docs/reference/glib/regex-syntax.xml
25 +++ b/docs/reference/glib/regex-syntax.xml
254 GRegexMatchFlags match_opts; /* options used at match time on the regex */
950 @@ -568,12 +747,16 @@ match_info_new (const GRegex *regex,
951 match_info->regex = g_regex_ref ((GRegex *)regex);
959 - pcre_fullinfo (regex->pcre_re, regex->extra,
961 + pcre2_pattern_info (regex->pcre_re, PCRE2_INFO_CAPTURECOUNT,
970 @@ -593,9 +776,41 @@ match_info_new (const GRegex *regex,
975 + match_info->regex->pcre_re,
992 + match_info->regex->pattern, _("code overflow"));
1015 g_regex_unref (match_info->regex);
1040 - match_info->matches = pcre_exec (match_info->regex->pcre_re,
1041 - match_info->regex->extra,
1045 - match_info->regex->match_opts | match_info->match_opts,
1049 + opts = map_to_pcre2_match_flags (match_info->regex->match_opts | match_info->match_opts);
1050 + match_info->matches = pcre2_match (match_info->regex->pcre_re,
1062 match_info->regex->pattern, match_error (match_info->matches));
1127 - if (!(match_info->regex->compile_opts & G_REGEX_DUPNAMES))
1128 - return pcre_get_stringnumber (match_info->regex->pcre_re, name);
1129 + if (!(match_info->regex->compile_opts & PCRE2_DUPNAMES))
1130 + return pcre2_substring_number_from_name (match_info->regex->pcre_re, (PCRE2_SPTR8) name);
1133 - entrysize = pcre_get_stringtable_entries (match_info->regex->pcre_re,
1139 + entrysize = pcre2_substring_nametable_scan (match_info->regex->pcre_re,
1164 @@ -1264,9 +1483,7 @@ g_regex_unref (GRegex *regex)
1166 g_free (regex->pattern);
1167 if (regex->pcre_re != NULL)
1168 - pcre_free (regex->pcre_re);
1169 - if (regex->extra != NULL)
1170 - pcre_free (regex->extra);
1171 + pcre2_code_free (regex->pcre_re);
1172 g_free (regex);
1175 @@ -1274,11 +1491,11 @@ g_regex_unref (GRegex *regex)
1195 GRegex *regex;
1259 regex->pattern = g_strdup (pattern);
1260 regex->pcre_re = re;
1261 regex->compile_opts = compile_options;
1262 + regex->orig_compile_opts = orig_compile_opts;
1263 regex->match_opts = match_options;
1267 - regex->extra = pcre_study (regex->pcre_re, 0, &errmsg);
1274 - regex->pattern,
1278 - g_regex_unref (regex);
1283 return regex;
1438 @@ -1509,8 +1738,7 @@ g_regex_get_max_backref (const GRegex *regex)
1442 - pcre_fullinfo (regex->pcre_re, regex->extra,
1444 + pcre2_pattern_info (regex->pcre_re, PCRE2_INFO_BACKREFMAX, &value);
1448 @@ -1530,8 +1758,7 @@ g_regex_get_capture_count (const GRegex *regex)
1452 - pcre_fullinfo (regex->pcre_re, regex->extra,
1454 + pcre2_pattern_info (regex->pcre_re, PCRE2_INFO_CAPTURECOUNT, &value);
1458 @@ -1551,8 +1778,7 @@ g_regex_get_has_cr_or_lf (const GRegex *regex)
1462 - pcre_fullinfo (regex->pcre_re, regex->extra,
1464 + pcre2_pattern_info (regex->pcre_re, PCRE2_INFO_HASCRORLF, &value);
1468 @@ -1574,8 +1800,8 @@ g_regex_get_max_lookbehind (const GRegex *regex)
1472 - pcre_fullinfo (regex->pcre_re, regex->extra,
1474 + pcre2_pattern_info (regex->pcre_re, PCRE2_INFO_MAXLOOKBEHIND,
1479 @@ -1597,9 +1823,47 @@ g_regex_get_max_lookbehind (const GRegex *regex)
1481 g_regex_get_compile_flags (const GRegex *regex)
1485 g_return_val_if_fail (regex != NULL, 0);
1487 - return regex->compile_opts;
1490 + extra_flags = (regex->orig_compile_opts & G_REGEX_OPTIMIZE);
1494 + pcre2_pattern_info (regex->pcre_re, PCRE2_INFO_NEWLINE, &info_value);
1514 + pcre2_pattern_info (regex->pcre_re, PCRE2_INFO_BSR, &info_value);
1524 + return map_to_pcre1_compile_flags (regex->compile_opts) | extra_flags;
1528 @@ -1617,7 +1881,7 @@ g_regex_get_match_flags (const GRegex *regex)
1530 g_return_val_if_fail (regex != NULL, 0);
1532 - return regex->match_opts & G_REGEX_MATCH_MASK;
1533 + return map_to_pcre1_match_flags (regex->match_opts & G_REGEX_MATCH_MASK);
1538 GRegex *regex;
1544 regex = g_regex_new (pattern, compile_options, G_REGEX_MATCH_DEFAULT, NULL);
1545 if (!regex)
1547 @@ -1718,6 +1985,8 @@ g_regex_match (const GRegex *regex,
1553 return g_regex_match_full (regex, string, -1, 0, match_options,
1556 @@ -1801,6 +2070,8 @@ g_regex_match_full (const GRegex *regex,
1562 g_return_val_if_fail (regex != NULL, FALSE);
1565 @@ -1851,6 +2122,8 @@ g_regex_match_all (const GRegex *regex,
1571 return g_regex_match_all_full (regex, string, -1, 0, match_options,
1574 @@ -1920,39 +2193,29 @@ g_regex_match_all_full (const GRegex *regex,
1585 g_return_val_if_fail (regex != NULL, FALSE);
1593 - * is an optimization for normal regex matching, but results in omitting
1596 + * optimization for normal regex matching, but results in omitting some
1601 pcre_re = regex_compile (regex->pattern,
1602 - regex->compile_opts | PCRE_NO_AUTO_POSSESS,
1603 + regex->compile_opts | PCRE2_NO_AUTO_POSSESS,
1613 - /* For PCRE < 8.33 the precompiled regex is fine. */
1614 - pcre_re = regex->pcre_re;
1615 - extra = regex->extra;
1618 info = match_info_new (regex, string, string_len, start_position,
1621 @@ -1960,29 +2223,38 @@ g_regex_match_all_full (const GRegex *regex,
1628 - regex->match_opts | match_options,
1635 + (regex->match_opts | match_options | PCRE2_NO_UTF_CHECK) & …
1672 @@ -1990,9 +2262,7 @@ g_regex_match_all_full (const GRegex *regex,
1683 @@ -2030,8 +2300,8 @@ g_regex_get_string_number (const GRegex *regex,
1684 g_return_val_if_fail (regex != NULL, -1);
1687 - num = pcre_get_stringnumber (regex->pcre_re, name);
1689 + num = pcre2_substring_number_from_name (regex->pcre_re, (PCRE2_SPTR8) name);
1695 GRegex *regex;
1701 regex = g_regex_new (pattern, compile_options, 0, NULL);
1702 if (!regex)
1704 @@ -2129,6 +2402,8 @@ g_regex_split (const GRegex *regex,
1710 return g_regex_split_full (regex, string, -1, 0,
1713 @@ -2193,6 +2468,8 @@ g_regex_split_full (const GRegex *regex,
1719 g_return_val_if_fail (regex != NULL, NULL);
1722 @@ -2817,6 +3094,8 @@ g_regex_replace (const GRegex *regex,
1728 g_return_val_if_fail (regex != NULL, NULL);
1731 @@ -2886,6 +3165,8 @@ g_regex_replace_literal (const GRegex *regex,
1740 @@ -2974,6 +3255,8 @@ g_regex_replace_eval (const GRegex *regex,
1746 g_return_val_if_fail (regex != NULL, NULL);
1830 'regex' : {
1838 diff --git a/glib/tests/regex.c b/glib/tests/regex.c
1840 --- a/glib/tests/regex.c
1841 +++ b/glib/tests/regex.c
1856 - regex = g_regex_new ("\\p{L}\\p{Ll}\\p{Lu}\\p{L&}\\p{N}\\p{Nd}", G_REGEX_OPTIMIZE, G_REGEX_MATCH…
1857 + regex = g_regex_new ("\\p{L}\\p{Ll}\\p{Lu}\\p{L&}\\p{N}\\p{Nd}", G_REGEX_DEFAULT, G_REGEX_MATCH_…
1858 res = g_regex_match (regex, "ppPP01", 0, &match);
1865 - regex = g_regex_new ("[abc\\x{0B1E}\\p{Mn}\\x{0391}-\\x{03A9}]", G_REGEX_OPTIMIZE, G_REGEX_MATCH…
1866 + regex = g_regex_new ("[abc\\x{0B1E}\\p{Mn}\\x{0391}-\\x{03A9}]", G_REGEX_DEFAULT, G_REGEX_MATCH_…
1867 res = g_regex_match (regex, "a:b:\340\254\236:\333\253:\316\240", 0, &match);
1874 - regex = g_regex_new ("\\w+(?=;)", G_REGEX_OPTIMIZE, G_REGEX_MATCH_DEFAULT, &error);
1875 + regex = g_regex_new ("\\w+(?=;)", G_REGEX_DEFAULT, G_REGEX_MATCH_DEFAULT, &error);
1876 g_assert (regex);
1878 res = g_regex_match (regex, "word1 word2: word3;", 0, &match);
1880 g_regex_unref (regex);
1883 - regex = g_regex_new ("foo(?!bar)", G_REGEX_OPTIMIZE, G_REGEX_MATCH_DEFAULT, &error);
1884 + regex = g_regex_new ("foo(?!bar)", G_REGEX_DEFAULT, G_REGEX_MATCH_DEFAULT, &error);
1885 g_assert (regex);
1887 res = g_regex_match (regex, "foobar foobaz", 0, &match);
1889 g_regex_unref (regex);
1892 - regex = g_regex_new ("(?!bar)foo", G_REGEX_OPTIMIZE, G_REGEX_MATCH_DEFAULT, &error);
1893 + regex = g_regex_new ("(?!bar)foo", G_REGEX_DEFAULT, G_REGEX_MATCH_DEFAULT, &error);
1894 g_assert (regex);
1896 res = g_regex_match (regex, "foobar foobaz", 0, &match);
1901 - regex = g_regex_new ("(?<!foo)bar", G_REGEX_OPTIMIZE, G_REGEX_MATCH_DEFAULT, &error);
1902 + regex = g_regex_new ("(?<!foo)bar", G_REGEX_DEFAULT, G_REGEX_MATCH_DEFAULT, &error);
1903 g_assert (regex);
1905 res = g_regex_match (regex, "foobar boobar", 0, &match);
1907 g_regex_unref (regex);
1910 - regex = g_regex_new ("(?<=bullock|donkey) poo", G_REGEX_OPTIMIZE, G_REGEX_MATCH_DEFAULT, &error);
1911 + regex = g_regex_new ("(?<=bullock|donkey) poo", G_REGEX_DEFAULT, G_REGEX_MATCH_DEFAULT, &error);
1912 g_assert (regex);
1914 res = g_regex_match (regex, "don poo, and bullock poo", 0, &match);
1917 g_regex_unref (regex);
1919 - regex = g_regex_new ("(?<!dogs?|cats?) x", G_REGEX_OPTIMIZE, G_REGEX_MATCH_DEFAULT, &error);
1920 + regex = g_regex_new ("(?<!dogs?|cats?) x", G_REGEX_DEFAULT, G_REGEX_MATCH_DEFAULT, &error);
1921 g_assert (regex == NULL);
1925 - regex = g_regex_new ("(?<=ab(c|de)) foo", G_REGEX_OPTIMIZE, G_REGEX_MATCH_DEFAULT, &error);
1926 + regex = g_regex_new ("(?<=ab(c|de)) foo", G_REGEX_DEFAULT, G_REGEX_MATCH_DEFAULT, &error);
1927 g_assert (regex == NULL);
1931 - regex = g_regex_new ("(?<=abc|abde)foo", G_REGEX_OPTIMIZE, G_REGEX_MATCH_DEFAULT, &error);
1932 + regex = g_regex_new ("(?<=abc|abde)foo", G_REGEX_DEFAULT, G_REGEX_MATCH_DEFAULT, &error);
1933 g_assert (regex);
1935 res = g_regex_match (regex, "abfoo, abdfoo, abcfoo", 0, &match);
1938 g_regex_unref (regex);
1940 - regex = g_regex_new ("^.*+(?<=abcd)", G_REGEX_OPTIMIZE, G_REGEX_MATCH_DEFAULT, &error);
1941 + regex = g_regex_new ("^.*+(?<=abcd)", G_REGEX_DEFAULT, G_REGEX_MATCH_DEFAULT, &error);
1942 g_assert (regex);
1944 res = g_regex_match (regex, "abcabcabcabcabcabcabcabcabcd", 0, &match);
1947 g_regex_unref (regex);
1949 - regex = g_regex_new ("(?<=\\d{3})(?<!999)foo", G_REGEX_OPTIMIZE, G_REGEX_MATCH_DEFAULT, &error);
1950 + regex = g_regex_new ("(?<=\\d{3})(?<!999)foo", G_REGEX_DEFAULT, G_REGEX_MATCH_DEFAULT, &error);
1951 g_assert (regex);
1953 res = g_regex_match (regex, "999foo 123abcfoo 123foo", 0, &match);
1956 g_regex_unref (regex);
1958 - regex = g_regex_new ("(?<=\\d{3}...)(?<!999)foo", G_REGEX_OPTIMIZE, G_REGEX_MATCH_DEFAULT, &erro…
1959 + regex = g_regex_new ("(?<=\\d{3}...)(?<!999)foo", G_REGEX_DEFAULT, G_REGEX_MATCH_DEFAULT, &error…
1960 g_assert (regex);
1962 res = g_regex_match (regex, "999foo 123abcfoo 123foo", 0, &match);
1965 g_regex_unref (regex);
1967 - regex = g_regex_new ("(?<=\\d{3}(?!999)...)foo", G_REGEX_OPTIMIZE, G_REGEX_MATCH_DEFAULT, &error…
1968 + regex = g_regex_new ("(?<=\\d{3}(?!999)...)foo", G_REGEX_DEFAULT, G_REGEX_MATCH_DEFAULT, &error);
1969 g_assert (regex);
1971 res = g_regex_match (regex, "999foo 123abcfoo 123foo", 0, &match);
1974 g_regex_unref (regex);
1976 - regex = g_regex_new ("(?<=(?<!foo)bar)baz", G_REGEX_OPTIMIZE, G_REGEX_MATCH_DEFAULT, &error);
1977 + regex = g_regex_new ("(?<=(?<!foo)bar)baz", G_REGEX_DEFAULT, G_REGEX_MATCH_DEFAULT, &error);
1978 g_assert (regex);
1980 res = g_regex_match (regex, "foobarbaz barfoobaz barbarbaz", 0, &match);
1985 - regex = g_regex_new ("cat(aract|erpillar|)", G_REGEX_OPTIMIZE, G_REGEX_MATCH_DEFAULT, &error);
1986 + regex = g_regex_new ("cat(aract|erpillar|)", G_REGEX_DEFAULT, G_REGEX_MATCH_DEFAULT, &error);
1987 g_assert (regex);
1989 g_assert_cmpint (g_regex_get_capture_count (regex), ==, 1);
1992 g_regex_unref (regex);
1994 - regex = g_regex_new ("the ((red|white) (king|queen))", G_REGEX_OPTIMIZE, G_REGEX_MATCH_DEFAULT, …
1995 + regex = g_regex_new ("the ((red|white) (king|queen))", G_REGEX_DEFAULT, G_REGEX_MATCH_DEFAULT, &…
1996 g_assert (regex);
1998 g_assert_cmpint (g_regex_get_capture_count (regex), ==, 3);
2001 g_regex_unref (regex);
2003 - regex = g_regex_new ("the ((?:red|white) (king|queen))", G_REGEX_OPTIMIZE, G_REGEX_MATCH_DEFAULT…
2004 + regex = g_regex_new ("the ((?:red|white) (king|queen))", G_REGEX_DEFAULT, G_REGEX_MATCH_DEFAULT,…
2005 g_assert (regex);
2007 res = g_regex_match (regex, "the white queen", 0, &match);
2010 g_regex_unref (regex);
2012 - regex = g_regex_new ("(?|(Sat)(ur)|(Sun))day (morning|afternoon)", G_REGEX_OPTIMIZE, G_REGEX_MAT…
2013 + regex = g_regex_new ("(?|(Sat)(ur)|(Sun))day (morning|afternoon)", G_REGEX_DEFAULT, G_REGEX_MATC…
2014 g_assert (regex);
2016 g_assert_cmpint (g_regex_get_capture_count (regex), ==, 3);
2019 g_regex_unref (regex);
2021 - regex = g_regex_new ("(?|(abc)|(def))\\1", G_REGEX_OPTIMIZE, G_REGEX_MATCH_DEFAULT, &error);
2022 + regex = g_regex_new ("(?|(abc)|(def))\\1", G_REGEX_DEFAULT, G_REGEX_MATCH_DEFAULT, &error);
2023 g_assert (regex);
2025 g_assert_cmpint (g_regex_get_max_backref (regex), ==, 1);
2028 g_regex_unref (regex);
2030 - regex = g_regex_new ("(?|(abc)|(def))(?1)", G_REGEX_OPTIMIZE, G_REGEX_MATCH_DEFAULT, &error);
2031 + regex = g_regex_new ("(?|(abc)|(def))(?1)", G_REGEX_DEFAULT, G_REGEX_MATCH_DEFAULT, &error);
2032 g_assert (regex);
2034 res = g_regex_match (regex, "abcabc abcdef defabc defdef", 0, &match);
2037 g_regex_unref (regex);
2039 - regex = g_regex_new ("(?<DN>Mon|Fri|Sun)(?:day)?|(?<DN>Tue)(?:sday)?|(?<DN>Wed)(?:nesday)?|(?<DN…
2040 + regex = g_regex_new ("(?<DN>Mon|Fri|Sun)(?:day)?|(?<DN>Tue)(?:sday)?|(?<DN>Wed)(?:nesday)?|(?<DN…
2041 g_assert (regex);
2043 res = g_regex_match (regex, "Mon Tuesday Wed Saturday", 0, &match);
2046 g_regex_unref (regex);
2048 - regex = g_regex_new ("^(a|b\\1)+$", G_REGEX_OPTIMIZE|G_REGEX_DUPNAMES, G_REGEX_MATCH_DEFAULT, &e…
2049 + regex = g_regex_new ("^(a|b\\1)+$", G_REGEX_DUPNAMES, G_REGEX_MATCH_DEFAULT, &error);
2050 g_assert (regex);
2052 res = g_regex_match (regex, "aaaaaaaaaaaaaaaa", 0, &match);
2057 - regex = g_regex_new ("^(a+)(\\()?[^()]+(?(-1)\\))(b+)$", G_REGEX_OPTIMIZE, G_REGEX_MATCH_DEFAULT…
2058 + regex = g_regex_new ("^(a+)(\\()?[^()]+(?(-1)\\))(b+)$", G_REGEX_DEFAULT, G_REGEX_MATCH_DEFAULT,…
2059 g_assert (regex);
2061 res = g_regex_match (regex, "a(zzzzzz)b", 0, &match);
2063 g_regex_unref (regex);
2066 - regex = g_regex_new ("^(a+)(?<OPEN>\\()?[^()]+(?(<OPEN>)\\))(b+)$", G_REGEX_OPTIMIZE, G_REGEX_MA…
2067 + regex = g_regex_new ("^(a+)(?<OPEN>\\()?[^()]+(?(<OPEN>)\\))(b+)$", G_REGEX_DEFAULT, G_REGEX_MAT…
2068 g_assert (regex);
2070 res = g_regex_match (regex, "a(zzzzzz)b", 0, &match);
2073 g_regex_unref (regex);
2075 - regex = g_regex_new ("^(a+)(?(+1)\\[|\\<)?[^()]+(\\])?(b+)$", G_REGEX_OPTIMIZE, G_REGEX_MATCH_DE…
2076 + regex = g_regex_new ("^(a+)(?(+1)\\[|\\<)?[^()]+(\\])?(b+)$", G_REGEX_DEFAULT, G_REGEX_MATCH_DEF…
2077 g_assert (regex);
2079 res = g_regex_match (regex, "a[zzzzzz]b", 0, &match);
2082 regex = g_regex_new ("(?(DEFINE) (?<byte> 2[0-4]\\d | 25[0-5] | 1\\d\\d | [1-9]?\\d) )"
2086 g_assert (regex);
2088 res = g_regex_match (regex, "128.0.0.1", 0, &match);
2091 regex = g_regex_new ("^(?(?=[^a-z]*[a-z])"
2095 g_assert (regex);
2097 res = g_regex_match (regex, "01-abc-24", 0, &match);
2102 - regex = g_regex_new ("\\( ( [^()]++ | (?R) )* \\)", G_REGEX_OPTIMIZE|G_REGEX_EXTENDED, G_REGEX_M…
2103 + regex = g_regex_new ("\\( ( [^()]++ | (?R) )* \\)", G_REGEX_EXTENDED, G_REGEX_MATCH_DEFAULT, &er…
2104 g_assert (regex);
2106 res = g_regex_match (regex, "(middle)", 0, &match);
2109 g_regex_unref (regex);
2111 - regex = g_regex_new ("^( \\( ( [^()]++ | (?1) )* \\) )$", G_REGEX_OPTIMIZE|G_REGEX_EXTENDED, G_R…
2112 + regex = g_regex_new ("^( \\( ( [^()]++ | (?1) )* \\) )$", G_REGEX_EXTENDED, G_REGEX_MATCH_DEFAUL…
2113 g_assert (regex);
2115 res = g_regex_match (regex, "((((((((((((((((middle))))))))))))))))", 0, &match);
2118 g_regex_unref (regex);
2120 - regex = g_regex_new ("^(?<pn> \\( ( [^()]++ | (?&pn) )* \\) )$", G_REGEX_OPTIMIZE|G_REGEX_EXTEND…
2121 + regex = g_regex_new ("^(?<pn> \\( ( [^()]++ | (?&pn) )* \\) )$", G_REGEX_EXTENDED, G_REGEX_MATCH…
2122 g_assert (regex);
2124 … g_regex_match (regex, "(aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa()", 0, &match);
2127 g_regex_unref (regex);
2129 - regex = g_regex_new ("< (?: (?(R) \\d++ | [^<>]*+) | (?R)) * >", G_REGEX_OPTIMIZE|G_REGEX_EXTEND…
2130 + regex = g_regex_new ("< (?: (?(R) \\d++ | [^<>]*+) | (?R)) * >", G_REGEX_EXTENDED, G_REGEX_MATCH…
2131 g_assert (regex);
2133 res = g_regex_match (regex, "<ab<01<23<4>>>>", 0, &match);
2136 g_regex_unref (regex);
2138 - regex = g_regex_new ("^((.)(?1)\\2|.)$", G_REGEX_OPTIMIZE, G_REGEX_MATCH_DEFAULT, &error);
2139 + regex = g_regex_new ("^((.)(?1)\\2|.)$", G_REGEX_DEFAULT, G_REGEX_MATCH_DEFAULT, &error);
2140 g_assert (regex);
2142 res = g_regex_match (regex, "abcdcba", 0, &match);
2145 g_regex_unref (regex);
2147 - regex = g_regex_new ("^(?:((.)(?1)\\2|)|((.)(?3)\\4|.))$", G_REGEX_OPTIMIZE, G_REGEX_MATCH_DEFAU…
2148 + regex = g_regex_new ("^(?:((.)(?1)\\2|)|((.)(?3)\\4|.))$", G_REGEX_DEFAULT, G_REGEX_MATCH_DEFAUL…
2149 g_assert (regex);
2151 res = g_regex_match (regex, "abcdcba", 0, &match);
2154 g_regex_unref (regex);
2156 - regex = g_regex_new ("^\\W*+(?:((.)\\W*+(?1)\\W*+\\2|)|((.)\\W*+(?3)\\W*+\\4|\\W*+.\\W*+))\\W*+$…
2157 + regex = g_regex_new ("^\\W*+(?:((.)\\W*+(?1)\\W*+\\2|)|((.)\\W*+(?3)\\W*+\\4|\\W*+.\\W*+))\\W*+$…
2158 g_assert (regex);
2160 res = g_regex_match (regex, "abcdcba", 0, &match);
2193 g_test_add_func ("/regex/max-lookbehind", test_max_lookbehind);