I am attempting (and failing) to write a PHP regex that will match a Windows product key in the form XXXXX-XXXXX-XXXXX-XXXXX-XXXXX (where X is an uppercase letter or a number).
I have come up with the following, but it is not doing quite what I expect (provided it actually can do what I expect!). I consider myself pretty well versed in PHP, but regexes are a particular weak point for me.
([A-Z1-9]{5})-([A-Z1-9]{5})-([A-Z1-9]{5})-([A-Z1-9]{5})-([A-Z1-9]{5})
What I am actually after is it to pass ABCDE-FGHIJ-KLMNO-PQRST-UVWXY
but to fail ABCDE-FGHIJ-KLMNO-PQRST-UVWXYZ
(notice the last block has 6 characters).
Bonus chatter: Yes, I know that not all letters are valid in a Windows product key, but the important bit is that it validates the text has been entered in the correct format.