From: Sam Dela Cruz Date: 2006-01-10T11:05:39+09:00 Subject: Re: regexp problem - differences in Perl and Ruby --=_alternative 000B79BE882570F2_= Content-Type: text/plain; charset="US-ASCII" Thanks David. Yes, after I replaced ^ with \A and $ with \a, it works now. Another difference learned. I'm discovering new stuffs in Ruby every day. Regards, Sam dblack@wobblini.net 01/09/2006 05:54 PM Please respond to ruby-talk@ruby-lang.org To ruby-talk@ruby-lang.org (ruby-talk ML) cc Subject Re: regexp problem - differences in Perl and Ruby Classification Hi -- On Tue, 10 Jan 2006, Sam Dela Cruz wrote: > I got different results in Perl and Ruby of this regular expression. Can > somebody maybe give me a "Ruby Way" solution of this? The output from > Perl is what I want. But I'm currently programming this is Ruby. > > def transform_data(data) > if (data=~/^[\d\.]+$/) #numbers > puts "Got here!" > else > puts("'" + data + "'") > end > end > > data = "patched 3 systems: > 134.27.56.237 > 134.27.59.6 > 134.27.55.43" > > transform_data(data) > #snippet end ============ > > Output is: > Got here! > > Now why would it match in Ruby? Am I missing something here? ^ and $ match start and end of line, not string. For start and end of string, you want \A and \z (or \Z to ignore final newline). David -- David A. Black dblack@wobblini.net "Ruby for Rails", from Manning Publications, coming April 2006! http://www.manning.com/books/black --=_alternative 000B79BE882570F2_=--