Maison > interface Web > js tutoriel > le corps du texte

Comment créer une expression régulière qui n'accepte que des formules spéciales ?

WBOY
Libérer: 2023-09-16 19:33:03
avant
1221 Les gens l'ont consulté

Comment créer une expression régulière qui naccepte que des formules spéciales ?

Les expressions régulières sont des modèles qui contiennent différents caractères. Nous pouvons utiliser des expressions régulières pour rechercher si une chaîne contient un modèle spécifique.

Ici, nous apprendrons à créer des expressions régulières pour vérifier diverses formules mathématiques. Nous utiliserons la méthode test() ou match() pour vérifier si une formule mathématique spécifique correspond à une expression régulière

Grammaire

Les utilisateurs peuvent suivre la syntaxe suivante pour créer des expressions régulières qui acceptent des formules mathématiques spéciales.

let regex = /^\d+([-+]\d+)*$/g; 
Copier après la connexion

L'expression régulière ci-dessus n'accepte que 10 – 13 + 12 + 23, tout comme la formule mathématique.

Expression régulière expliquée

  • / / Il représente le début et la fin de l'expression régulière.

  • ^ Il représente le début de la chaîne de formule.

  • d+ Il représente au moins un ou plusieurs chiffres au début de la formule.

  • [-+] – Représente les opérateurs « + » et « - » dans les expressions régulières.

  • ([-+]d+)* signifie que la formule peut contenir des nombres, suivis de plusieurs opérateurs "+" ou "-".

  • $ Il représente la fin de la chaîne.

  • g – Il correspond à toutes les occurrences de l'identifiant.

Exemple

Dans l'exemple ci-dessous, nous avons créé une expression régulière qui accepte les formules contenant des opérateurs numériques "+" ou "-".

L'utilisateur peut constater que la première formule correspond au modèle d'expression régulière dans la sortie. La deuxième formule ne correspond pas au modèle d'expression régulière car elle contient l'opérateur « * ». De plus, la troisième formule est la même que la première, mais elle contient des espaces entre l'opérateur et le nombre, elle ne correspond donc pas à l'expression régulière.

<html>
<body>
   <h3>Creating the regular expression to validate special mathematical formula in JavaScript</h3>
   <div id = "output"></div>
   <script>
      let output = document.getElementById('output');
      function matchFormula(formula) {
         let regex = /^\d+([-+]\d+)*$/g;
         let isMatch = regex.test(formula);
         if (isMatch) {
            output.innerHTML += "The " + formula + " is matching with " + regex + "<br>";
         } else {
            output.innerHTML += "The " + formula + " is not matching with " + regex + "<br>";
         }
      }
      let formula = "10+20-30-50";
      matchFormula(formula);
      matchFormula("60*70*80");
      matchFormula("10 + 20 - 30 - 50")
   </script>
</body>
</html> 
Copier après la connexion

Expression régulière utilisée dans l'exemple ci-dessous

Nous avons utilisé l'expression régulière /^d+(s*[-+*/]s*d+)*$/g dans l'exemple ci-dessous. Les utilisateurs peuvent trouver ci-dessous une explication des expressions régulières utilisées.

  • ^d+ Il représente au moins un chiffre au début de la formule.

  • s* Il représente zéro ou plusieurs espaces.

  • (s*[-+*/]s*d+)* signifie que la formule peut contenir des espaces, des opérateurs, des espaces et des nombres plusieurs fois dans le même ordre.

Exemple

Dans l'exemple ci-dessous, nous appelons la fonction TestMultiplyFormula() trois fois en passant diverses formules comme paramètres. Nous utilisons la méthode test() pour vérifier si la formule correspond au modèle d'expression régulière.

Dans le résultat, nous pouvons voir que l'expression régulière accepte les formules avec les opérateurs "*" et "/" ainsi que les espaces.

<html>
<body>
   <h2>Creating the regular expression <i> to validate special mathematical formula </i> in JavaScript.</h2>
   <div id = "output"> </div>
   <script>
      let output = document.getElementById('output');
      function TestMultiplyFormula(formula) {
         let regex = /^\d+(\s*[-+*/]\s*\d+)*$/g;
         let isMatch = regex.test(formula);
         if (isMatch) {
            output.innerHTML += "The " + formula + " is matching with " + regex + "<br>";
         } else {
            output.innerHTML += "The " + formula + " is not matching with " + regex + "<br>";
         }
      } 
      let formula = "12312323+454+ 565 - 09 * 23";
      TestMultiplyFormula(formula);
      TestMultiplyFormula("41*14* 90 *80* 70 + 90");
      TestMultiplyFormula("41*14& 90 ^80* 70 + 90");
   </script>
</body>
</html>
Copier après la connexion

Ce tutoriel nous apprend à créer une expression régulière qui accepte une formule mathématique spéciale. Dans les deux exemples, nous avons utilisé la méthode test() pour faire correspondre une formule à une expression régulière. De plus, nous avons utilisé différents modèles d'expressions régulières dans les deux exemples.

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

source:tutorialspoint.com
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal