Je, essayant d'écrire une expression régulière pour vérifier si la chaîne donnée est comme a + b, 2 + a + b, 3 + 6 * 9 + 6 * 5 + a * b, etc. ...Expression régulière pour l'expression arithmétique
Seuls les opérateurs + et *.
J'ai essayé
if (str.matches("(\\d|\\w \\+|\\*){1,} \\d|\\w"))
Malheureusement, il ne gère que des cas comme 3 * 7 ... (numérique * numérique).
En attente de vos réponses, merci de me lire.
La classe de caractères (ala) @AvinashRaj est nettement mieux. Purement à des fins éducatives, le problème avec votre utilisation de la barre verticale est que vous n'avez pas regroupé les choses avant et après. Si vous voulez '\\ + | \\ *', vous devez les grouper comme '(?: \\ + | \\ *)'. Même chose avec le '\\ d | \\ w' bien que ce ne soit pas si important puisque \\ w inclut \\ d. –