From be0182d0493e03dd86b1aa42efb21b82b18beb7d Mon Sep 17 00:00:00 2001 From: AnotherTest Date: Mon, 5 Apr 2021 06:25:36 +0430 Subject: [PATCH] LibRegex: Reset capture group indices when resetting parser state --- Userland/Libraries/LibRegex/RegexParser.cpp | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/Userland/Libraries/LibRegex/RegexParser.cpp b/Userland/Libraries/LibRegex/RegexParser.cpp index fe00adfd97..7370ca2cdb 100644 --- a/Userland/Libraries/LibRegex/RegexParser.cpp +++ b/Userland/Libraries/LibRegex/RegexParser.cpp @@ -151,6 +151,11 @@ ALWAYS_INLINE void Parser::reset() m_parser_state.current_token = m_parser_state.lexer.next(); m_parser_state.error = Error::NoError; m_parser_state.error_token = { TokenType::Eof, 0, StringView(nullptr) }; + m_parser_state.capture_group_minimum_lengths.clear(); + m_parser_state.capture_groups_count = 0; + m_parser_state.named_capture_groups_count = 0; + m_parser_state.named_capture_group_minimum_lengths.clear(); + m_parser_state.named_capture_groups.clear(); } Parser::Result Parser::parse(Optional regex_options)