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

/motif/modificateurs;

Exemple :

var patt = /php/i

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é ?


NoteLes 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) .
Note正则表达式参数可用在以上方法中 (替代字符串参数)。
正则表达式使得搜索功能更加强大(如实例中不区分大小写)。
Les expressions régulières rendent la fonction de recherche plus puissante (comme l'insensibilité à la casse dans l'exemple).



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.