English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية

Tutoriel de base JavaScript

Objet JavaScript

Fonction JavaScript

DOM HTML JS

BOM du navigateur JS

Tutoriel de base AJAX

Manuel de référence JavaScript

Expression régulière (RegExp) JavaScript

Les expressions régulières sont généralement appelées "regex" ou "RegExp", et sont des modèles utilisés pour correspondre aux combinaisons de caractères dans une chaîne de caractères.

Les expressions régulières sont l'un des outils les plus puissants disponibles aujourd'hui, capables de gérer et de manipuler efficacement le texte.

Les expressions régulières peuvent être utilisées pour effectuer tous types deRecherche de texteetRemplacement de texteopérations.

Les expressions régulières peuvent être un seul caractère, ou des modèles plus complexes.

En JavaScript, les expressions régulières sont également des objets.

Créer une expression régulière

Vous pouvez créer une expression régulière de deux manières :

L'utilisation des expressions régulièrestextecomposé de motifs contenus entre les barres obliques, comme suit :

  var regex = /w3codebox/g

ou appeler la méthode de l'objet RegExpConstructionLa fonction, comme suit :

  var regex = new RegExp("w3codebox", "g");

Explication de l'exemple :

  • w3codeboxest un modèle (utilisé pour la recherche)

  • gest un modificateur (effectuer une correspondance globale)

UtilisezConstructionLa fonction peut fournir la compilation à temps réel des expressions régulières.

Lorsque vous ne connaissez pas le modèle et que vous obtenez le modèle d'autres sources (par exemple, l'entrée de l'utilisateur), utilisezConstructionfonction.

Remarque :LetexteLa syntaxe utilise les barres obliques (/)/pattern/)pour envelopper le modèle d'expression régulière, tandis que la syntaxe de la grammatical utilise des guillemets ("pattern").

Utilisez les méthodes de chaîne

En JavaScript, les trois méthodes de chaîne les plus couramment utilisées des expressions régulières sont :search()replace()etmatch().

search()La méthode utilise l'expression pour rechercher les correspondances, puis renvoie la position des correspondances.

replace()La méthode renvoie une chaîne de caractères modifiée, où le modèle sera remplacé.

match()La méthode recherche les éléments correspondants à l'expression régulière dans une chaîne de caractères et renvoie les éléments correspondants sous forme d'objet Array.

Méthode search()

search()La méthode effectue une recherche pour trouver les correspondances entre l'expression régulière et la chaîne de caractères.

Si une correspondance est trouvée, elle renverra la position de la première correspondance, sinon elle renverra-1

var str = 'The question is to be, or not to be, that is to be.';
var pos = str.search('to be';
Vérifiez et voyez‹/›

Les exemples suivants montrent que les expressions régulières peuvent être utilisées aveciL'utilisation de modificateurs dans les expressions régulières (ignorer les cas) :

var str = 'The question is TO BE, or not to be, that is to be.';
var pos = str.search(/to be/i);
Vérifiez et voyez‹/›

L'expression régulière peut rendre votre fonction de recherche encore plus puissante (par exemple, sans distinction de cas).

Méthode replace()

replace()La méthode renvoie une nouvelle chaîne de caractères, qui contient des correspondances de modèle partielles ou complètes et est remplacée par l'élément de remplacement.

Le premier paramètre sera la valeur à trouver, le deuxième paramètre sera la valeur à remplacer.

var str1 = 'The question is to be, or not to be, that is to be.';
var str2 = str1.replace('to be', 'ZZZ';
Vérifiez et voyez‹/›

Par défaut,replace()La méthode ne remplace que la première correspondance.

Pour remplacer toutes les occurrences, utilisez avecgExpression régulière avec modificateur (recherche globale) :

var str1 = 'The question is to be, or not to be, that is to be.';
var str2 = str1.replace(/to be/g, 'ZZZ';
Vérifiez et voyez‹/›

Pour remplacer le code sans distinction de cas, utilisez aveciExpression régulière avec modificateur (ignorer la casse) :

var str1 = 'The question is TO BE, or not to be, that is to be.';
var str2 = str1.replace(/to be/gi, 'ZZZ';
Vérifiez et voyez‹/›

match() méthode

match()La méthode recherche les éléments correspondants à l'expression régulière dans une chaîne de caractères et renvoie les éléments correspondants sous forme d'objet Array.

var str = 'POLLUTION: Air Pollution est l'introduction de produits chimiques dans l'atmosphère';
var reg = str.match(/ion/g);
Vérifiez et voyez‹/›

Modificateur d'expression régulière

Les modificateurs sont utilisés pour effectuer une recherche globale, distinguer les majuscules et minuscules et rechercher en mode multiline :

ModificateurDescriptionExemple
gExécuter la correspondance globale, c'est-à-dire rechercher toutes les correspondances, au lieu de s'arrêter après la première correspondanceTestez-le
iExécuter la correspondance sans distinction de casTestez-le
mExécuter la correspondance en mode multilineTestez-le

Modèle d'expression régulière

Le modèle d'expression régulière inclut l'utilisation de lettres, de chiffres, de signes de ponctuation, etc., ainsi qu'un ensemble de caractères spéciaux d'expression régulière.

Crochets []Utilisé pour rechercher une série de caractères :

ExpressionDescriptionExemple
[abc]Trouver n'importe quel caractère entre les crochetsTestez-le
[0-9]Recherche de n'importe quel caractère entre les crochets (n'importe quel nombre)Testez-le
(x|y)Recherche de n'importe quel remplacement spécifiéTestez-le

Caractère de métamorphoseC'est un simple caractère alphabétique précédé d'un antislash, qui donne à ce groupe un sens spécial :

Caractère de métamorphoseDescriptionExemple
\dTrouver un chiffreTestez-le
\WRecherche de caractères non alphabétiquesTestez-le
\sRecherche de caractères d'espaceTestez-le

QuantificateurSpécifier la position de la séquence de caractères entre crochets ou la fréquence :

ExpressionDescriptionExemple
z+correspondre à n'importe quel texte contenant z au moins une foisz deChaîneTestez-le
z*correspondre à n'importe quel texte contenant z zéro ou plusieurs foisz deChaîneTestez-le
z?correspondre à n'importe quel texte contenant z apparaissant zéro ou une foisz deChaîneTestez-le

Utilisation des méthodes RegExp

En JavaScript, l'objet RegExp est un objet d'expression régulière avec des attributs et des méthodes prédéfinis.

test()Cette méthode recherche un schéma dans une chaîne et retourne true ou false en fonction du résultat.

exec()Cette méthode recherche un schéma dans une chaîne et renvoie le texte trouvé sous forme d'objet.

Méthode test()

test()Cette méthode effectue une recherche de correspondance dans une chaîne spécifiée.

Si un élément correspondant est trouvé, cette méthode renvoietruesinon, retournezfalse.

Utiliseztest()vous voulez savoir si le schéma que vous cherchez est trouvé dans la chaîne.

var str = "www.w3"codebox.com";
var regex = new RegExp("h");
var ans = regex.test(str);
Vérifiez et voyez‹/›

Lorsque vous utiliseztest()Elle renvoie une valeur booléenne, contrairement àexec()Elle renvoie une chaîne.

Méthode exec()

exec()Cette méthode effectue une recherche de correspondance dans une chaîne spécifiée.

Si un élément correspondant est trouvé, cette méthode renvoie le texte correspondant ; sinon, elle renvoie null.

var str = "www.w3"codebox.com";
var regex = new RegExp("h");
var ans = regex.exec(str);
Vérifiez et voyez‹/›

Vérifier l'entrée avec une expression régulière

Calculer le nombre de voyelles dans une chaîne :

Entrez du texte dans le champ d'entrée pour afficher le nombre de voyelles :

Nombre de voyelles entrées :

Exécuter le code

Référence complète RegExp

Pour une référence complète des propriétés et méthodes, veuillez visiter notreRéférence JavaScript RegExp.

La partie de référence contient une description et des exemples de toutes les propriétés et méthodes RegExp.