je besoin d'une expression régulière qui correspond 0
-9
, (
, )
, +
, -
, *
et /
.Expression régulière pour correspondre à des chiffres et des opérateurs mathématiques de base
Répondre
Il semble que vous essayiez de faire correspondre des expressions numériques comme 5 + 7-3.
Cela devrait faire correspondre:
([-+]?[0-9]*\.?[0-9]+[\/\+\-\*])+([-+]?[0-9]*\.?[0-9]+)
Cette réponse n'incorpore pas les crochets mentionnés dans la question. Que faire si vous avez une opération (2 + 3) * (5/(7-1))? –
En outre, cela dit incorrectement '25 * (53 + 5' est valide et' 2 * (3) 'n'est pas.Si vous voulez essayer et trouver plus: https://jsfiddle.net/a7eg9a78/ – abluejelly
[0-9\(\)\+\-\*\./\"]
Je pense que vous êtes à la recherche pour les classes de caractères
[0-9()+\-*/.]
Cela devrait correspondre à un mot qui contient un nombre de 0 à 9 ou (,), +, -,/ou *
+ - * est une plage invalide, mettre le '-' à la fin et cela devrait fonctionner – Inshallah
Je pense que le '-' devrait être le premier caractère, comme' [-0-9() + * /] ', non ? – Victor
Oui je pense que la solution est des classes de caractères, mais en réponse à inshallah, ne devrait pas simplement échapper le '-' être suffisant? Ma compréhension est que selon le système (qui n'a pas été spécifié par OP), les caractères tels que celui-ci peuvent avoir des significations spéciales, en fait aussi *, et les parenthèses. Je pense que OP ferait mieux de lire toute la documentation pour son système regex particulier. – nullpointer
[\d\(\)\+\-\*\/\.]
Hehe, tout s'est échappé +1. – Inshallah
Je ne pense pas que vous devez échapper (,), -, + etc dans une classe de caractères. Cela dépend de la lanaguage n'est-ce pas? – Jaskirat
@Jass, en Perl au moins vous avez raison. Vous devez cependant faire attention à ce que vous échappiez '/' ou écrivez l'expression rationnelle comme m ~ [\ d() + */.-] ~. – Inshallah
La réponse acceptée ne peut pas gérer un grand nombre de cas de base. Cela devrait faire le travail:
^([-+]? ?(\d+|\(\g<1>\))(?[-+*\/] ?\g<1>)?)$
Explaination:
Nous voulons correspondre à la chaîne entière:
^...$
expressions peuvent avoir un signe:
[-+]? ?
Une expression se compose de plusieurs chiffres ou d'une autre expression valide, entourée de crochets:
(\d+|\(\g<1>\))
Une expression valide peut être suivie d'une opération et une autre expression valide et est encore une expression valide:
(?[-+*\/] ?\g<1>)?
Si vous avez besoin d'une expression rationnelle pour correspondre à une expression arithmétique comme ceci: 3 + 2 -24 * 2/2-1, vous pouvez essayer ceci:
String reg1="([0-9]+[\\+\\-\\*\\/]{1}[0-9]+)+([\\+\\-\\*\\/]{1}[0-9]+)*";
vous pouvez ajouter le support où que vous voulez si vous modifier cette regex.
Je vous ai marqué répondre comme utile parce que cela m'a aidé dans mon travail.Toutes les réponses ci-dessus ne m'a pas aidé beaucoup.Merci. –
Cette regex m'aide, il suffit de prendre une note ici peut-être que cela aide les autres.
^[0-9+\-*\/\(\)]*$
- 1. Expression régulière pour correspondre jusqu'à 10 chiffres
- 2. expression régulière pour correspondre à des fichiers
- 3. Expression régulière pour correspondre à des montants en dollars
- 4. Expression régulière pour correspondre à des adresses e-mail
- 5. Expression régulière pour correspondre à des URL relatives - II
- 6. Expression régulière - chiffres extrait
- 7. expression régulière pour correspondre à un modèle
- 8. Expression régulière pour correspondre à un nom
- 9. Expression régulière pour correspondre à 12 heures
- 10. Comment écrire une expression régulière pour correspondre à une valeur numérique à trois chiffres?
- 11. C# Expression régulière pour faire correspondre les lettres, les chiffres et les traits de soulignement
- 12. Expression régulière pour correspondre à "CP" suivi de 3-5 chiffres
- 13. Javascript Expression régulière pour correspondre à un nombre à six chiffres
- 14. Expression régulière pour correspondre à un nombre à neuf chiffres qui commencent par un 1
- 15. Expression régulière pour correspondre à 'R33' et 'r34E'
- 16. Expression régulière pour correspondre uniquement aux lettres
- 17. Expression régulière pour évaluer et remplacer les opérateurs d'opérateurs arithmétiques
- 18. Regex C# ne devrait pas correspondre à des opérateurs booléens
- 19. Expression régulière pour les équations mathématiques en PHP
- 20. expression régulière pour correspondre à cet ensemble de valeurs
- 21. Javascript Expression régulière pour correspondre à 5 ou 9 chiffres code postal
- 22. Expression régulière pour correspondre à la spécification de dimension
- 23. Expression régulière pour correspondre à une chaîne de connexion ssh
- 24. Expression régulière pour correspondre à une plage de dates
- 25. Expression régulière pour des formats numériques compréhensibles
- 26. expression régulière pour correspondre à une chaîne de connexion ldap
- 27. Python expression régulière pour correspondre fichier date.txt
- 28. Expression régulière - commençant et finissant par une lettre, n'acceptant que des lettres, des chiffres et _
- 29. Expression régulière pour correspondre « 100702 » suivi de « 5 » ou « 6 » suivi de sept autres chiffres
- 30. Expression régulière pour correspondre à une plage de valeurs décimales
en utilisant preg? ereg? Quelle langue? Quel système? – ty812