Bug #13082
Updated by akanet (Vincent Woo) over 7 years ago
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.
I should add that the reason I want it to work this way is that matches like
`/test/.match "a longer test", 2`
will return a match. My real goal is to find if `/test/` *starts* at position 2, so I do need the special line/string start character.
What do you think?
Cheers,
Vincent