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.
Abinoam Jr.
···
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)
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)
yes, it is Windows, and yes, swapping quotes around (double for the -e
command part, and single for the string to be matched) produced the
expected result (as per kachick)
further, irb gives the expected results regardless of using single or
double quotes around the string to be matched against (ABCD1234)
If it's returning 1 perhaps it is not respecting the anchor (^) for
begining and making the match against the second (1-indexed) character
("BCDE"). (So, perhaps it's not the "max quantifier" as on the post
subject).
# without the anchor... ("^")
match = /[A-Z]{1,4}[0-9]{1,4}$/.match "ABCDE1234" => #<MatchData "BCDE1234">