From: Jeremy Bopp Date: 2010-11-14T04:21:04+09:00 Subject: Re: Very simple regex question On 11/13/2010 01:06 PM, Geometric Patterns wrote: > Hi, I have a very simple regex question. > > I don't understand why the regex in the example below isn't identifying > that the string is longer than 12 characters long... > >>> line = "xxxxxxxxxxxxxxxxxxxxxxxxxxxxx" > => "xxxxxxxxxxxxxxxxxxxxxxxxxxxxx" >>> if line =~ /[a-zA-Z]{2,12}/ >>> puts "good" >>> else > ?> puts "bad" >>> end > good > => nil >>> > > Any ideas? Your regexp will match anywhere within the string where there is a run of 2 to 12 characters. If you want to ensure that there is nothing before or after whatever is matched, you need to use the begin and end of string anchors as follows when you define your regexp: /\A[a-zA-Z]{2,12}\z/ -Jeremy