Il est nécessaire de détecter si une certaine chaîne est composée de six nombres hexadécimaux à huit chiffres reliés par des traits de soulignement.
Par exemple :"1234567F_1234567F_1234567F_1234567F_1234567F_1234567F"
J'ai moi-même écrit une correspondance régulière, comme suit :
"^[0-9a-fA-F]{8}_[0-9a-fA-F]{8}_[0-9a-fA-F]{8}_[0-9a-fA-F]{8}_[0-9a-fA-F]{8}_[0-9a-fA-F]{8}$"
Cette expression régulière peut être mise en correspondance avec succès, mais elle semble trop compliquée et a trop de contenu répété. Peut-elle être simplifiée ?
Je pourrais écrire comme ça
^([0-9a-fA-F]{8}_){5}[0-9a-fA-F]{8}$
.Maintenant que la personne qui pose la question peut utiliser
{8}
, vous pouvez envisager d'utiliser les huit premiers chiffres hexadécimaux + '_' comme nombre pour exprimer le nombre d'occurrences.Vous pouvez à nouveau simplifier [0-9a-fA-F] :