Maison  >  Questions et réponses  >  le corps du texte

Problème de simplification des expressions régulières en java ou scala

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 ?

学习ing学习ing2686 Il y a quelques jours660

répondre à tous(2)je répondrai

  • 过去多啦不再A梦

    过去多啦不再A梦2017-06-12 09:27:26

    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.

    répondre
    0
  • 怪我咯

    怪我咯2017-06-12 09:27:26

    Vous pouvez à nouveau simplifier [0-9a-fA-F] :

    ^([^\W_]{8}_){5}[^\W_]{8}$

    répondre
    0
  • Annulerrépondre