diff --git a/crates/oxc_regular_expression/src/body_parser/parser.rs b/crates/oxc_regular_expression/src/body_parser/parser.rs index d23d5bdfbf092..80f260c5d6b37 100644 --- a/crates/oxc_regular_expression/src/body_parser/parser.rs +++ b/crates/oxc_regular_expression/src/body_parser/parser.rs @@ -979,7 +979,7 @@ impl<'a> PatternParser<'a> { if self.state.unicode_mode && self.reader.eat('-') { return Ok(Some(ast::CharacterClassContents::Character(ast::Character { span: self.span_factory.create(span_start, self.reader.offset()), - kind: ast::CharacterKind::Symbol, + kind: ast::CharacterKind::SingleEscape, value: '-' as u32, }))); } diff --git a/crates/oxc_regular_expression/src/display.rs b/crates/oxc_regular_expression/src/display.rs index 58c5ecc1fb9b6..89863f0b43bf2 100644 --- a/crates/oxc_regular_expression/src/display.rs +++ b/crates/oxc_regular_expression/src/display.rs @@ -548,6 +548,10 @@ mod test { (r"/\udf06/u", Some(r"/\uDF06/u")), // we capitalize hex unicodes. (r"/^|\udf06/g", Some(r"/^|\uDF06/g")), + (r"/[\-]/", None), + (r"/[\-]/u", None), + (r"/[\-]/v", None), + (r"/([\-a-z]{0,31})/iu", None), ]; fn test_display(allocator: &Allocator, (source, expect): &Case) {