diff --git a/core/text/regex/regex.odin b/core/text/regex/regex.odin index b0837ac14..1ad582a4f 100644 --- a/core/text/regex/regex.odin +++ b/core/text/regex/regex.odin @@ -279,6 +279,8 @@ create_iterator :: proc( permanent_allocator := context.allocator, temporary_allocator := context.temp_allocator, ) -> (result: Match_Iterator, err: Error) { + flags := flags + flags += {.Global} // We're iterating over a string, so the next match could start anywhere result.haystack = str result.regex = create(pattern, flags, permanent_allocator, temporary_allocator) or_return diff --git a/tests/core/text/regex/test_core_text_regex.odin b/tests/core/text/regex/test_core_text_regex.odin index 38950d0dc..7874d76aa 100644 --- a/tests/core/text/regex/test_core_text_regex.odin +++ b/tests/core/text/regex/test_core_text_regex.odin @@ -1102,7 +1102,7 @@ Iterator_Test :: struct { iterator_vectors := []Iterator_Test{ { - `xxab32ab52xx`, `(ab\d{1})`, {.Global}, + `xxab32ab52xx`, `(ab\d{1})`, {}, // {.Global} implicitly added by the iterator { {pos = {{2, 5}, {2, 5}}, groups = {"ab3", "ab3"}}, {pos = {{6, 9}, {6, 9}}, groups = {"ab5", "ab5"}},