From: Paul Date: 2008-02-21T05:25:26+09:00 Subject: Re: regex question ------=_Part_1825_26230261.1203539131689 Content-Type: text/plain; charset=ISO-8859-1 Content-Transfer-Encoding: 7bit Content-Disposition: inline You could try matching anything that's not a -, + or number in your first group, e.g. ([^-+0-9]*) Note that I'm assuming Ruby uses Perl Compatible Regular Expressions Cheers, Paul On Wed, Feb 20, 2008 at 8:15 PM, J. Cooper wrote: > So I am scanning through chat logs looking for messages where I > mentioned "points". My current regex is: > text.scan /^(.*)([-+]?[0-9]+\s+points?)(.*)$/i > So I'd like each match in 3 groups: > 1. The message up until the part containing the points > 2. The points part. This could have a + or - prefix, 1 or more digits, > and an optional s after point > 3. The rest of the message line. > > My problem is, the (.*) is eating up parts that I would like to appear > in group 2. I just bought a book on regex but I'm not very far yet :( > Any help would be appreciated! > -- > Posted via http://www.ruby-forum.com/. > > ------=_Part_1825_26230261.1203539131689--