Expressions régulières JavaScript
L'expression régulière (anglais : expression régulière, souvent abrégée en regex, regexp ou RE dans le code) utilise une seule chaîne pour décrire et faire correspondre une série de modèles de recherche de chaîne qui respectent une certaine règle de syntaxe.
Le mode de recherche peut être utilisé pour la recherche de texte et le remplacement de texte.
Qu'est-ce qu'une expression régulière ?
Une expression régulière est un modèle de recherche formé par une séquence de caractères.
Lorsque vous recherchez des données dans du texte, vous pouvez utiliser des modèles de recherche pour décrire ce que vous souhaitez interroger.
Une expression régulière peut être un caractère simple ou un motif plus complexe.
Les expressions régulières peuvent être utilisées pour toutes les opérations de recherche de texte et de remplacement de texte.
Grammaire
Exemple :
Exemple d'analyse :
/php/i est une expression régulière.
php est un modèle (utilisé pour la récupération).
i est un modificateur (la recherche n'est pas sensible à la casse).
Utilisation des méthodes de chaîne
En JavaScript, les expressions régulières sont couramment utilisées avec deux méthodes de chaîne : search() et replace(). La méthode
search() est utilisée pour récupérer une sous-chaîne spécifiée dans une chaîne, ou pour récupérer une sous-chaîne qui correspond à une expression régulière et renvoie la position de départ de la sous-chaîne. La méthode
replace() est utilisée pour remplacer certains caractères par d'autres caractères dans une chaîne, ou pour remplacer une sous-chaîne qui correspond à une expression régulière.
La méthode search() utilise une expression régulière
Instance
<!DOCTYPE html> <html> <head> <meta charset="utf-8"> <title>php.cn</title> </head> <body> <p>搜索字符串 "php", 并显示匹配的起始位置:</p> <button onclick="myFunction()">点我</button> <p id="demo"></p> <script> function myFunction() { var str = "Visit php!"; var n = str.search(/php/i); document.getElementById("demo").innerHTML = n; } </script> </body> </html>
Exécuter l'instance»
Cliquez sur le bouton "Exécuter l'instance" pour afficher l'instance en ligne
La méthode search() utilise une chaîne
La méthode de recherche peut utiliser une chaîne comme paramètre. Les arguments de chaîne sont convertis en expressions régulières :
Instance
<!DOCTYPE html> <html> <head> <meta charset="utf-8"> <title>php.cn</title> </head> <body> <p>搜索字符串 "php", 并显示匹配的起始位置:</p> <button onclick="myFunction()">点我</button> <p id="demo"></p> <script> function myFunction() { var str = "Visit php!"; var n = str.search("php"); document.getElementById("demo").innerHTML = n; } </script> </body> </html>
Exécuter l'instance»
Cliquez sur le bouton « Exécuter l'instance » pour voir des exemples en ligne
La méthode replace() utilise des expressions régulières
Instances
<!DOCTYPE html> <html> <head> <meta charset="utf-8"> <title>php</title> </head> <body> <p>替换 "microsoft" 为 php" :</p> <button onclick="myFunction()">点我</button> <p id="demo">请访问 Microsoft!</p> <script> function myFunction() { var str = document.getElementById("demo").innerHTML; var txt = str.replace(/microsoft/i,"php"); document.getElementById("demo").innerHTML = txt; } </script> </body> </html>
Exécuter l'instance»
Cliquez sur le bouton "Exécuter l'instance" pour afficher l'instance en ligne
méthode replace() La méthode d'utilisation String
replace() recevra la chaîne en paramètre :
Instance
<!DOCTYPE html> <html> <head> <meta charset="utf-8"> <title>php.cn</title> </head> <body> <p>替换 "Microsoft" 为 "php" :</p> <button onclick="myFunction()">点我</button> <p id="demo">请访问 Microsoft!</p> <script> function myFunction() { var str = document.getElementById("demo").innerHTML; var txt = str.replace("Microsoft","php"); document.getElementById("demo").innerHTML = txt; } </script> </body> </html>
Exécuter l'instance»
Cliquez sur le bouton « Exécuter l'instance » pour afficher l'instance en ligne
Avez-vous remarqué ?
Les paramètres d'expression régulière peuvent être utilisés dans la méthode ci-dessus (en remplacement des paramètres de chaîne) .
|
Modificateur d'expression régulière
Modificateur Peut être le cas -insensible dans la recherche globale :
修饰符 | 描述 |
---|---|
i | 执行对大小写不敏感的匹配。 |
g | 执行全局匹配(查找所有匹配而非在找到第一个匹配后停止)。 |
m | 执行多行匹配。 |
Modèle d'expression régulière
Les crochets sont utilisés pour rechercher dans une certaine plage Caractères :
表达式 | 描述 |
---|---|
[abc] | 查找方括号之间的任何字符。 |
[0-9] | 查找任何从 0 至 9 的数字。 |
(x|y) | 查找任何以 | 分隔的选项。 |
Les métacaractères sont des caractères ayant une signification particulière :
元字符 | 描述 |
---|---|
d | 查找数字。 |
s | 查找空白字符。 |
b | 匹配单词边界。 |
uxxxx | 查找以十六进制数 xxxx 规定的 Unicode 字符。 |
Quantificateur :
量词 | 描述 |
---|---|
n+ | 匹配任何包含至少一个 n 的字符串。 |
n* | 匹配任何包含零个或多个 n 的字符串。 |
n? | 匹配任何包含零个或一个 n 的字符串。 |
Utilisation de l'objet RegExp
En JavaScript, un objet RegExp est un objet d'expression régulière avec des propriétés et des méthodes prédéfinies.
Utiliser test()
La méthode test() est une méthode d'expression régulière.
La méthode test() est utilisée pour détecter si une chaîne correspond à un certain modèle. Si la chaîne contient du texte correspondant, elle renvoie vrai, sinon elle renvoie faux.
L'exemple suivant est utilisé pour rechercher le caractère "e" dans une chaîne :
Instance
<!DOCTYPE html> <html> <head> <meta charset="utf-8"> <title>php.cn</title> </head> <body> <script> var patt1=new RegExp("e"); document.write(patt1.test("The best things in life are free")); </script> </body> </html>
Exécuter Exemple »
Cliquez sur le bouton « Exécuter l'instance » pour afficher l'instance en ligne
Utilisez exec()
La méthode exec() est une méthode régulière méthode d'expression. La méthode
exec() est utilisée pour récupérer les correspondances d'une expression régulière dans une chaîne.
Cette fonction renvoie un tableau qui stocke les résultats correspondants. Si aucune correspondance n'est trouvée, la valeur de retour est nulle.
L'exemple suivant est utilisé pour rechercher la lettre « e » dans une chaîne :
Instance
<!DOCTYPE html> <html> <head> <meta charset="utf-8"> <title>php.cn</title> </head> <body> <script> var patt1=new RegExp("e"); document.write(patt1.exec("The best things in life are free")); </script> </body> </html>
Exécuter Exemple »
Cliquez sur le bouton « Exécuter l'exemple » pour afficher l'exemple en ligne
Manuel de référence RegExp complet
Pour le manuel de référence complet des objets RegExp, veuillez vous référer à notre manuel de référence JavaScript RegExp.
Ce manuel de référence contient toutes les méthodes et propriétés de l'objet RegExp.