Bug 230038

Summary: Incorrect matching of regular expressions
Product: WebKit Reporter: Yeting Li <N2107163D>
Component: JavaScriptCoreAssignee: Nobody <webkit-unassigned>
Status: NEW ---    
Severity: Normal CC: fpizlo, msaboff, webkit-bug-importer
Priority: P2 Keywords: InRadar
Version: WebKit Nightly Build   
Hardware: Unspecified   
OS: Unspecified   
Attachments:
Description Flags
demo code none

Description Yeting Li 2021-09-08 01:13:12 PDT
Created attachment 437607 [details]
demo code

For some regexes with backreferences and optional groupings, for example, the regex /(a)?(b)\1/ should not match the string "b", but JavaScriptCore determines the regex /(a)?(b)\1/ matching the string "b".
  

It should be pointed out that the semantics of the regex /(a)?(b)\1/ and the regex /(a?)(b)\1/ are different. Specifically, the regex /(a)?(b)\1/ does not match the string "b", and the regex /(a?)(b)\1/ matches the string "b".
Comment 1 Radar WebKit Bug Importer 2021-09-15 01:14:24 PDT
<rdar://problem/83135746>