From: Gavin Kistner Date: 2005-08-24T23:00:25+09:00 Subject: Re: Novice Q: What's the difference between /\s*/ and /(\s)*/? On Aug 24, 2005, at 7:47 AM, Gavin Kistner wrote: > " \t\nHello".match( /^\s*(\w+)/ ) #=> "Hello" , nil > " \t\nHello".match( /^(\s)*(\w+)/ ) #=> "\n" , "Hello" > " \t\nHello".match( /^(\s*)(\w+)/ ) #=> " \t\n" , "Hello" > "\t Hello".match( /^\s*(\w+)/ ) #=> "Hello" , nil > "\t Hello".match( /^(\s)*(\w+)/ ) #=> " " , "Hello" > "\t Hello".match( /^(\s*)(\w+)/ ) #=> "\t " , "Hello" > "\n \tHello".match( /^\s*(\w+)/ ) #=> "Hello" , nil > "\n \tHello".match( /^(\s)*(\w+)/ ) #=> "\t" , "Hello" > "\n \tHello".match( /^(\s*)(\w+)/ ) #=> "\n \t" , "Hello" > Three more pertinent data points: "Hello".match( /^\s*(\w+)/ ) #=> "Hello" , nil "Hello".match( /^(\s)*(\w+)/ ) #=> nil , "Hello" "Hello".match( /^(\s*)(\w+)/ ) #=> "" , "Hello"