Issue #13082 has been reported by Vincent Woo.

----------------------------------------
Bug #13082: Ruby match from position behavior with start of line/string special character
https://bugs.ruby-lang.org/issues/13082

* Author: Vincent Woo
* Status: Open
* Priority: Normal
* Assignee: 
* Target version: 
* ruby -v: ruby 2.4.0p0 (2016-12-24 revision 57164) [x86_64-darwin16]
* Backport: 2.2: UNKNOWN, 2.3: UNKNOWN, 2.4: UNKNOWN
----------------------------------------
Hello,

Apologies in advance if this question was addressed already, I could not find any information on it. To summarize:

Regexp#match provides this behavior:

> If the second parameter (pos) is present, it specifies the position in the string to begin the search.

So, if you say:

`/test/.match "a test", 2`

This will return a match. This becomes an issue when you try to write a regex to match "if the pattern begins at the specified point in the string".

`/^test/.match "a test", 2`

Does not return a match. Using `\A` does not work, either. It's an open question whether this *should* work, but I think it should. I would expect calling match with a position to treat the string passed in as essentially truncated up to that point.

What do you think?

Cheers,
Vincent



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

Unsubscribe: <mailto:ruby-core-request / ruby-lang.org?subject=unsubscribe>
<http://lists.ruby-lang.org/cgi-bin/mailman/options/ruby-core>