mirror of
https://github.com/RGBCube/serenity
synced 2025-07-25 14:57:35 +00:00
LibRegex: Correctly parse BRE bracket expressions
Commonly, bracket expressions are in fact, enclosed in brackets.
This commit is contained in:
parent
1c69c686e3
commit
1c584e9d80
2 changed files with 19 additions and 5 deletions
|
@ -481,12 +481,20 @@ bool PosixBasicParser::parse_one_char_or_collation_element(ByteCode& bytecode, s
|
|||
|
||||
Vector<CompareTypeAndValuePair> values;
|
||||
size_t bracket_minimum_length = 0;
|
||||
if (!AbstractPosixParser::parse_bracket_expression(values, bracket_minimum_length))
|
||||
return false;
|
||||
|
||||
bytecode.insert_bytecode_compare_values(move(values));
|
||||
match_length_minimum += bracket_minimum_length;
|
||||
return !has_error();
|
||||
if (match(TokenType::LeftBracket)) {
|
||||
consume();
|
||||
if (!AbstractPosixParser::parse_bracket_expression(values, bracket_minimum_length))
|
||||
return false;
|
||||
|
||||
consume(TokenType::RightBracket, Error::MismatchingBracket);
|
||||
|
||||
bytecode.insert_bytecode_compare_values(move(values));
|
||||
match_length_minimum += bracket_minimum_length;
|
||||
return !has_error();
|
||||
}
|
||||
|
||||
return set_error(Error::InvalidPattern);
|
||||
}
|
||||
|
||||
// =============================
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue