Les Regex ne sont pas conçus pour analyser ces variétés de motifs. Cependant, vous pourriez être en mesure de contourner cela un peu, même si c'est désordonné.
Le second pourrait être forcé brute pour exactement quatre Sequentials assez facilement:
(abcd|bcde|cdef|...|wxyz|0123|1234|...|6789)
Mais qu'en aucun cas couvre 5 Sequentials et plus. Ce serait méchant. Vous pouvez faire quelque chose de similaire pour le premier cas, bien que ce soit un peu plus déraisonnable, car il y a 26 lettres + 10 chiffres (je suppose que vous faites cela en minuscules), donc si vous vouliez tout alterner paires dont vous auriez besoin 36 * 35 = 1260 possibilités dans votre regex. Ce qui est un peu long. Il pourrait être fait, mais ce n'est pas souhaitable.
Votre exemple pourrait bien sûr être analysé comme suit:
(12|ab)+
Ce qui est raisonnable. Mais si vous cherchez la solution la plus générique pour tout appariement de nombres/alphabets, vous devez générer la liste de façon exhaustive. En conclusion, le mieux est de ne PAS utiliser d'expressions régulières. Ils ne sont pas conçus pour être utilisés pour ce genre de recherches.
Votre brute force regex gère "exactement quatre" mais pas "au moins quatre" caractères séquentiels, donc la solution complète serait encore plus en désordre. –
Oh, haha, je pensais que ça voulait dire au moins quatre suivis de quoi que ce soit. Oui vous avez raison. –