From: Rob Biedenharn Date: 2008-10-10T01:37:39+09:00 Subject: Re: simple regexp help needed - pull phrase out of string On Oct 9, 2008, at 12:31 PM, Max Williams wrote: > Hey folks. I feel like this should be easy but it's been a long week > and my brain hurts. > > If i have a string like this: > > string = "pending: sent at Thu Oct 09 17:25:08 +0100 2008, > password:banana errors: couldn't find user with id 230" > > and i want to pull out 'banana', what's an elegant way to do it? The > password will always be followed by a space. > > I can think of this: > string.match(/password:[^\s]+/)[0].gsub("password:","") > > but it seems a bit clumsy and error prone. Is there a nicer way? > (Passwords can contain non alphanumeric characters btw) irb> string = "pending: sent at Thu Oct 09 17:25:08 +0100 2008, password:banana errors: couldn't find user with id 230" => "pending: sent at Thu Oct 09 17:25:08 +0100 2008,\npassword:banana errors: couldn't find user with id 230" irb> string.match(/password:(.*) errors:/)[1] => "banana" -Rob Rob Biedenharn http://agileconsultingllc.com Rob@AgileConsultingLLC.com