diff --git a/Userland/Libraries/LibRegex/RegexParser.cpp b/Userland/Libraries/LibRegex/RegexParser.cpp index 814759de4e..b2b7c19f6d 100644 --- a/Userland/Libraries/LibRegex/RegexParser.cpp +++ b/Userland/Libraries/LibRegex/RegexParser.cpp @@ -411,7 +411,7 @@ bool PosixBasicParser::parse_nonduplicating_re(ByteCode& bytecode, size_t& match if (try_skip("\\(")) { ByteCode capture_bytecode; size_t capture_length_minimum = 0; - auto capture_group_index = ++m_capture_group; + auto capture_group_index = ++m_parser_state.capture_groups_count; if (!parse_re_expression(capture_bytecode, capture_length_minimum)) return false; diff --git a/Userland/Libraries/LibRegex/RegexParser.h b/Userland/Libraries/LibRegex/RegexParser.h index b4d1cc95e9..5be99edbba 100644 --- a/Userland/Libraries/LibRegex/RegexParser.h +++ b/Userland/Libraries/LibRegex/RegexParser.h @@ -155,7 +155,6 @@ private: bool parse_nonduplicating_re(ByteCode&, size_t&); bool parse_one_char_or_collation_element(ByteCode&, size_t&); - size_t m_capture_group { 0 }; constexpr static size_t number_of_addressable_capture_groups = 9; size_t m_capture_group_minimum_lengths[number_of_addressable_capture_groups] { 0 }; bool m_capture_group_seen[number_of_addressable_capture_groups] { false };