J'essaie de faire une correspondance dans regex.Regroupement dans Regex
Il doit correspondre à une chaîne de caractères d'avec les formats suivants:
Démarrer avec un C ou H, w/6 caractères suivants. (Total 7 caractères) Commence par KK et avec 8 caractères suivants. (Au total 10 caractères)
Le champ est limité à 10 caractères dactylographiés. Je donne les résultats suivants:
(((C|H).{6})|(KK.{8}))
Il correspond à KK + 8 très bien. Il échoue sur C + 5 très bien. Il réussit très bien sur C + 6. Cependant, il réussit sur C + 7, C + 8 et C + 9.
Je suppose que mon regroupement est faux, quelqu'un peut-il signaler mon erreur?
C'est Regex aromatisé .NET et j'utilise Regex.IsMatch pour déterminer si le champ correspond exactement à mon regex.
Intéressant, j'étais sous l'impression que IsMatch m'assurait que la chaîne entière correspondait, je suppose que je me trompais. Merci! –
@Austitarum Custos: Vous avez peut-être pensé à la méthode nommée 'matches' de Java qui nécessite une correspondance exacte. –
Aha oui vous avez raison, .NET a la même chose. Non utilisé pour valider les chaînes d'entrée, utilisé pour l'analyse. Explique ma confusion. –