English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية
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.
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").
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.
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 aveci
L'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).
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 avecg
Expression 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 aveci
Expression 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()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‹/›
Les modificateurs sont utilisés pour effectuer une recherche globale, distinguer les majuscules et minuscules et rechercher en mode multiline :
Modificateur | Description | Exemple |
---|---|---|
g | Exécuter la correspondance globale, c'est-à-dire rechercher toutes les correspondances, au lieu de s'arrêter après la première correspondance | Testez-le |
i | Exécuter la correspondance sans distinction de cas | Testez-le |
m | Exécuter la correspondance en mode multiline | Testez-le |
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 :
Expression | Description | Exemple |
---|---|---|
[abc] | Trouver n'importe quel caractère entre les crochets | Testez-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étamorphose | Description | Exemple |
---|---|---|
\d | Trouver un chiffre | Testez-le |
\W | Recherche de caractères non alphabétiques | Testez-le |
\s | Recherche de caractères d'espace | Testez-le |
QuantificateurSpécifier la position de la séquence de caractères entre crochets ou la fréquence :
Expression | Description | Exemple |
---|---|---|
z+ | correspondre à n'importe quel texte contenant z au moins une foisz deChaîne | Testez-le |
z* | correspondre à n'importe quel texte contenant z zéro ou plusieurs foisz deChaîne | Testez-le |
z? | correspondre à n'importe quel texte contenant z apparaissant zéro ou une foisz deChaîne | Testez-le |
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.
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.
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‹/›
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 :
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.