On Fri, Jan 20, 2012 at 7:52 PM, Straff Walton
<straff_walton / yahoo.com.au> wrote:
> regex for matching 1 to 4 caps alpha, followed by 1 to 4 digits seems to
> fail for 5 alpha (tho not 5 digits)
>
> see examples below, 1, 3 and 4 give expected response, but 2 does not.
> Using "http://myregexp.com/" gives expected results (example 2 does not
> match)
>
> # 1
> ruby -v -e 'puts( /^[A-Z]{1,4}[0-9]{1,4}$/ =~ "ABCD1234" )'
> ruby 1.9.2p290 (2011-07-09) [i386-mingw32]
> 0
>
> # 2
> ruby -v -e 'puts( /^[A-Z]{1,4}[0-9]{1,4}$/ =~ "ABCDE1234" )'
> ruby 1.9.2p290 (2011-07-09) [i386-mingw32]
> 1
>
> # 3
> ruby -v -e 'puts( /^[A-Z]{1,4}[0-9]{1,4}$/ =~ "ABCD12345" )'
> ruby 1.9.2p290 (2011-07-09) [i386-mingw32]
>
> # 4
> ruby -v -e 'puts( /^[A-Z]{1,4}[0-9]{1,4}$/ =~ "ABCDE12345" )'
> ruby 1.9.2p290 (2011-07-09) [i386-mingw32]
>
> --
> Posted via http://www.ruby-forum.com/.
>

Hi Straff Walton,

Regexp is ok on my setup (Ubuntu 11.10 amd-64 + RVM).

ruby 1.9.3p0 (2011-10-30 revision 33570) [x86_64-linux]
ABCD1234 matches /^([A-Z]{1,4})([0-9]{1,4})$/ capturing: ["ABCD", "1234"]
ABCDE1234 doesn't match /^([A-Z]{1,4})([0-9]{1,4})$/
ABCD12345 doesn't match /^([A-Z]{1,4})([0-9]{1,4})$/
ABCDE12345 doesn't match /^([A-Z]{1,4})([0-9]{1,4})$/

Made this gist for others to test it too.

https://gist.github.com/1650955

Abinoam Jr.