Project

General

Profile

Bug #13082

Updated by akanet (Vincent Woo) over 5 years ago

Hello, 

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

 Regexp#match [provides provides this behavior](https://ruby-doc.org/core-2.4.0/Regexp.html#method-i-match): behavior: 

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

 So, if you run: say: 

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

 it 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 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 queries 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

Back