Issue #9728 has been updated by Tomoyuki Chikanaga.

Backport changed from 2.0.0: REQUIRED, 2.1: REQUIRED to 2.0.0: REQUIRED, 2.1: DONE

partially backport r47598 into `ruby_2_1` branch at r47954.


----------------------------------------
Bug #9728: Regexp bug
https://bugs.ruby-lang.org/issues/9728#change-49469

* Author: Tsuyoshi Sawada
* Status: Closed
* Priority: Normal
* Assignee: 
* Category: 
* Target version: 
* ruby -v: Ruby 2.0
* Backport: 2.0.0: REQUIRED, 2.1: DONE
----------------------------------------
As reported in StackOverflow (http://stackoverflow.com/questions/23004527) (with a wrong expectation), the following regex pattern with the `*` operator does not match.

    "ab" =~ /(?!^a).*b/
    # => nil

When `?` is used instead, it seems to match correctly:

    "ab" =~ /(?!^a).?b/
    # => 1

According to the original reporter of the linked site, this does not happen in Ruby 1.9.3.



-- 
https://bugs.ruby-lang.org/