From: Trans Date: 2007-06-04T19:54:59+09:00 Subject: Re: No way of looking for a regrexp match starting from a particular point in a string? On Jun 4, 6:19 am, "Robert Dober" wrote: > On 6/3/07, Kenneth McDonald wrote:> I'm probably just missing something obvious, but I haven't found a way > > to match a regular expression against only part of a string, in > > particular only past a certain point of a string, as a way of finding > > successive matches. Of course, one could do a match against a string, > > take the substring past that match and do a match against the substring, > > and so on, to find all of the matches for the string, but that could be > > very expensive for very large strings. > > > I'm aware of the String.scan method, but that doesn't work for me > > because it doesn't return MatchData instances. > > > What I want is just something like regexp.match(string, n), > > Hmm apart of using #scan and #index with $~ as indicated, I do not > think that there is a performance penalty if you do > > rg.match(string[n..-1]) How can that be? You have to create a whole new String. If that can be avoided in the internal implementation then adding an optional offset index to #match is not an unreasonable idea. T.