[ruby-core:127080] [Ruby Bug#22429] regex empty capture group in a counted loop prevents a match
Issue #22429 has been reported by robertmorelli (Robert Morelli). ---------------------------------------- Bug #22429: regex empty capture group in a counted loop prevents a match https://bugs.ruby-lang.org/issues/22429 * Author: robertmorelli (Robert Morelli) * Status: Open * ruby -v: ruby 4.0.7 (2026-09-15 revision 229531a6cf) +PRISM [arm64-darwin27] * Backport: 3.3: UNKNOWN, 3.4: UNKNOWN, 4.0: UNKNOWN ---------------------------------------- repro: ```ruby /\A(?:(){1,2}?a)+\z/.match?("aa") # false /\A(?:(?:){1,2}?a)+\z/.match?("aa") # true /\A(?:(){1,2}a)+\z/.match?("aa") # true ``` An empty capture `()` behaves differently from `(?:)`. Perl, Python and Oniguruma 6.9.10 return true for all three. -- https://bugs.ruby-lang.org/
participants (1)
-
robertmorelli (Robert Morelli)