Actions
Backport #7974
closedCase-insensitive group doesn't work in 2.0.0-p0
Status:
Closed
Assignee:
Description
=begin
A match group marked as case-insensitive (({(?i:...)})) fails to match if it occurs before a case-sensitive portion of the regex.
Given the script:
-- syntax: ruby --¶
#encoding: utf-8
Doesn't match in Ruby 2.0, but does in 1.9.3¶
p(/(?i:a) B/ =~ "A B")
p(/(?i:a) B/ =~ "a B")
Matches in both versions¶
p(/(?i:a) B/i =~ "a b")
p(/(?i:a B)/ =~ "a B")
p(/(?i:a b)/ =~ "a B")
p(/B (?i:a)/ =~ "B A")
p(/B (?i:a)/ =~ "B a")
All cases match in Ruby 1.9.3p392:
$ ruby -v ~/temp/re_group_i.rb
ruby 1.9.3p392 (2013-02-22 revision 39386) [x86_64-darwin12.2.1]
0
0
0
0
0
0
0
but the first two don't match under Ruby 2.0.0p0:
$ ruby -v ~/temp/re_group_i.rb
ruby 2.0.0p0 (2013-02-24 revision 39474) [x86_64-darwin12.2.1]
nil
nil
0
0
0
0
0
I expected both versions to implement case-insensitive groups the same way.
=end
Files
Actions
Like0
Like0Like0Like0Like0