Project

General

Profile

Backport #2508

The {n} repetition notation issue in Regexp

Added by katz (katz bo) about 9 years ago. Updated almost 8 years ago.

Status:
Assigned
Priority:
Normal
[ruby-core:27247]

Description

=begin
There seems to be a bug in Ruby 1.9 regarding Regular Expression:

/(io){1}x/ =~ 'ioiox' # => 2 #fine
/(io){2}x/ =~ 'ioiox' # => nil #should be 0
/(io){2,2}x/ =~ 'ioiox'# => nil #should be 0
#below are correct
/(?:io){2}x/ =~ 'ioiox' # => 0
/(io){2}/ =~ 'ioiox' # => 0
/(io){2,}x/ =~ 'ioiox' # => 0
/(io){,2}x/ =~ 'ioiox' # => 0
=end

History

#1

Updated by dblack (David Black) about 9 years ago

=begin
Hi --

On Sun, 20 Dec 2009, katz bo wrote:

Bug #2508: The {n} repetition notation issue in Regexp
http://redmine.ruby-lang.org/issues/show/2508

Author: katz bo
Status: Open, Priority: Normal
Category: core
ruby -v: ruby 1.9.1p376 (2009-12-07 revision 26041) [i686-linux]

There seems to be a bug in Ruby 1.9 regarding Regular Expression:

/(io){1}x/ =~ 'ioiox' # => 2 #fine
/(io){2}x/ =~ 'ioiox' # => nil #should be 0
/(io){2,2}x/ =~ 'ioiox'# => nil #should be 0
#below are correct
/(?:io){2}x/ =~ 'ioiox' # => 0
/(io){2}/ =~ 'ioiox' # => 0
/(io){2,}x/ =~ 'ioiox' # => 0
/(io){,2}x/ =~ 'ioiox' # => 0

I would call this a severe bug.

David

--
David A. Black
Senior Developer, Cyrus Innovation Inc.
THE COMPLEAT RUBYIST, Ruby training with Black/Brown/McAnally!
January 22-23, Tampa, Florida
Info and registration at http://www.thecompleatrubyist.com

=end

#2

Updated by naruse (Yui NARUSE) about 9 years ago

  • Status changed from Open to Closed
  • % Done changed from 0 to 100

=begin
This issue was solved with changeset r26143.
katz, thank you for reporting this issue.
Your contribution to Ruby is greatly appreciated.
May Ruby be with you.

=end

#3

Updated by naruse (Yui NARUSE) about 9 years ago

  • Category set to core
  • Status changed from Closed to Assigned
  • Assignee set to shyouhei (Shyouhei Urabe)

=begin

=end

#4

Updated by naruse (Yui NARUSE) about 9 years ago

  • Assignee changed from shyouhei (Shyouhei Urabe) to yugui (Yuki Sonoda)

=begin

=end

Also available in: Atom PDF