Disons que j'ai une collection de chaînes "123AB", "456CDEF", "789G", "012-HI". Comment puis-je trouver toutes les chaînes qui sont numéro (1 ou plus) suivi par alpha (1 ou plus) sans caractères spéciaux, où les caractères alpha ne sont pas AB? Pour clarifier, l'expression rationnelle appliquée à la collection précédente devrait produire "456CDEF" et "789G". "123AB" est ignoré car la valeur alpha est AB et "012-HI" est ignoré car il contient un non-alpha. La regex pour ce que je cherche, moins la règle spéciale AB, est ^[0-9]+[A-Z]+$
. Le cas est irrelevent. J'ai essayé quelques variantes de la règle [^ ]
sans succès, puisque tous les motifs que j'ai trouvés permettent des caractères spéciaux.Regex - Correspond aux caractères alpha qui ne correspondent pas à un sous-ensemble de caractères alpha (C#)
Pour généraliser, comment puis-je faire correspondre un ensemble de valeurs alpha qui ne correspondent pas à un certain sous-ensemble de valeurs alpha, en utilisant un seul motif regex?
Note: "123ABC" doit également être accepté. Seules les chaînes avec AB doivent être ignorées.
Courte, douce et facilement évolutive lorsque AB devient AB, CD et EF! – thorncp