Windows ürün anahtarı maç için PHP regex

1 Cevap php

Ben formu XXXXX-XXXXX-XXXXX-XXXXX-XXXXX (X büyük harf veya bir sayı olduğu) bir Windows ürün anahtarı maç olacak bir PHP regex yazmaya çalışıyor (ve başarısız) duyuyorum.

Ben aşağıdaki ile geldi, ama ben beklemek oldukça ne yaptığını değil (ne beklemek aslında can do bunu sağladı!). Kendimi oldukça iyi PHP usta düşünün, ama regexes benim için özel bir zayıf noktası vardır.

([A-Z1-9]{5})-([A-Z1-9]{5})-([A-Z1-9]{5})-([A-Z1-9]{5})-([A-Z1-9]{5})

Ne sonra aslında duyuyorum o ABCDE-FGHIJ-KLMNO-PQRST-UVWXY geçmek ancak başarısız ABCDE-FGHIJ-KLMNO-PQRST-UVWXYZ (son blok 6 karakter var fark) olduğunu.

Bonus chatter: Evet, ben değil tüm harfler, bir Windows ürün anahtarı geçerli olduğunu biliyorum, ama önemli bit o metni doğru biçimde girildiğinden doğrular olmasıdır.

1 Cevap

Kaçırdığını Tüm regex pozisyon çapa olduğunu. Şu anda, her yerde regex bir dize bu desen maç olacak. Dize "benim ürün anahtarı XXXXX-XXXXX-XXXXX-XXXXX-XXXXX ve benim adım Bob" olabilir tarafından ve regex maç olacak. İhtiyacınız nedir

^([A-Z1-9]{5})-([A-Z1-9]{5})-([A-Z1-9]{5})-([A-Z1-9]{5})-([A-Z1-9]{5})$

^ dizesini yalnızca başlangıcıyla eşleşir ve $ sadece karşılaşmaları sona erdi.