Maison > interface Web > js tutoriel > Pourquoi mon expression régulière JavaScript renvoie-t-elle null lors de la correspondance des points ?

Pourquoi mon expression régulière JavaScript renvoie-t-elle null lors de la correspondance des points ?

Patricia Arquette
Libérer: 2024-12-09 14:55:12
original
847 Les gens l'ont consulté

Why Is My JavaScript Regex Returning Null When Matching Points?

Pourquoi l'expression régulière JavaScript ne fonctionne pas

Problème :

Vous rencontrez un résultat nul lorsque vous tentez de faire correspondre une liste de points en JavaScript avec un résultat régulier expression.

Expression Regex :

var reg = new RegExp("/\(\s*([0-9.-]+)\s*,\s([0-9.-]+)\s*\)/g");
Copier après la connexion

Solution :

  • Utiliser une expression régulière littéral :
var reg = /\(\s*([0-9.-]+)\s*,\s([0-9.-]+)\s*\)/g;
Copier après la connexion
  • Erreurs lors de l'utilisation de RegExp :

    • Les délimiteurs (/) ne doivent pas faire partie de l'expression.
    • Les barres obliques inverses doivent être échappées si l'expression est définie comme un string.
    • Les modificateurs doivent être transmis comme deuxième argument à la fonction.

Remarque :

While utiliser RegExp est une option, il est souvent plus pratique d'utiliser regex littéraux.

Extraction de valeurs :

  • .match() renvoie un tableau de chaînes, ce qui peut ne pas être utile.
  • .exec () peut être utilisé pour extraire des nombres en continu jusqu'à ce que la chaîne entière soit traitée :
var result, points = [];
while((result = reg.exec(polygons)) !== null) {
    points.push([+result[1], +result[2]]);
}
Copier après la connexion

Cela crée un tableau de tableaux contenant les nombres extraits. Le plus unaire ( ) convertit les chaînes en nombres.

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!

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
Derniers articles par auteur
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal