Démarrer avec les expressions régulières JavaScript
Introduction :
L'expression régulière (expression régulière) est un outil de correspondance de texte puissant et flexible qui peut être utilisé pour détecter et manipuler des chaînes. En JavaScript, les expressions régulières peuvent être utilisées pour implémenter rapidement des opérations telles que la correspondance, le remplacement et l'extraction de chaînes. Cet article présentera en détail la syntaxe de base et les méthodes courantes des expressions régulières JavaScript aux débutants, et fournira des exemples de code spécifiques.
1. Bases des expressions régulières
Définition des expressions régulières
Les expressions régulières sont des modèles composés de caractères et de symboles spéciaux, utilisés pour faire correspondre des chaînes. En JavaScript, des expressions régulières peuvent être créées à l'aide de l'objet d'expression régulière RegExp. Par exemple :
let pattern = /abc/;
Le code ci-dessus crée un modèle d'expression régulière pour faire correspondre "abc" dans la chaîne.
^
, $
, .
, *
, +
, ?
, |
, `,
[,
],
(, </code > code>)<code>,
{,
}`, etc. Par exemple : ^
, $
, .
, *
, +
, ?
, |
, `,
[,
],
(,
),
{,
}`等。例如:^
:匹配字符串的起始位置$
:匹配字符串的结束位置.
:匹配除换行符之外的任意字符*
:匹配前一个字符0次或多次+
:匹配前一个字符1次或多次?
:匹配前一个字符0次或1次|
:匹配两个或多个规则中的任意一个d
:匹配数字字符D
:匹配非数字字符w
:匹配单词字符(字母、数字、下划线)W
:匹配非单词字符s
:匹配空白字符(空格、制表符、换行符等)S
:匹配非空白字符
例如:
let pattern = /w+/; let result = pattern.test("hello123"); // true
上述代码使用w+
匹配一个或多个单词字符,返回true。
二、正则表达式的使用
字符串匹配
可以使用正则表达式的test()
方法来检测字符串是否符合匹配规则。它返回一个布尔值,表示是否匹配成功。例如:
let pattern = /hello/; let result = pattern.test("hello world"); // true
上述代码用正则表达式/hello/
检测字符串"hello world"中是否包含"hello"。
字符串替换
可以使用字符串的replace()
方法来根据正则表达式模式进行替换。该方法接受两个参数,第一个参数是要替换的模式,第二个参数是用于替换的新字符串。例如:
let str = "hello world"; let pattern = /hello/; let newStr = str.replace(pattern, "hi"); console.log(newStr); // "hi world"
上述代码将字符串"hello world"中的"hello"替换为"hi",并将结果存储在newStr
中。
提取子串
可以使用正则表达式的exec()
方法来提取符合匹配规则的子串。该方法返回一个数组,包含匹配的子串及其位置信息。例如:
let pattern = /d+/; let str = "1 apple, 2 oranges, 3 bananas"; let result = pattern.exec(str); console.log(result); // ["1", index: 0, input: "1 apple, 2 oranges, 3 bananas", groups: undefined]
上述代码使用正则表达式/d+/
提取字符串中的数字子串。
全局匹配
在正则表达式后面加上g
修饰符,可以实现全局匹配。例如:
let pattern = /abc/g; let str = "abcabcabc"; let result = str.match(pattern); console.log(result); // ["abc", "abc", "abc"]
上述代码使用正则表达式/abc/g
^
: correspond à la position de début de la chaîne $
: correspond à la position de fin de la chaîne .
: matches except N'importe quel caractère sauf le caractère de nouvelle ligne
*
: correspond au caractère précédent 0 fois ou plus 🎜🎜+
: correspond au caractère précédent 1 fois ou plus 🎜🎜? : correspond au caractère précédent 0 ou 1 fois 🎜🎜|
: correspond à l'une des deux règles ou plus 🎜🎜`` : caractère d'échappement, utilisé pour faire correspondre les caractères spéciaux 🎜🎜Caractère Correspondance de catégories🎜Les catégories de caractères peuvent être utilisées dans des expressions régulières pour correspondre à des types de caractères spécifiques. Les catégories de caractères courantes incluent : 🎜🎜d
: correspond aux caractères numériques 🎜🎜D
: correspond aux caractères non numériques 🎜🎜w
: correspond aux caractères de mots ( Lettres, chiffres, traits de soulignement) 🎜🎜W
: correspond aux caractères autres que des mots 🎜🎜s
: correspond aux caractères d'espacement (espaces, tabulations, nouvelles lignes, etc.) 🎜🎜🎜S : correspond aux caractères autres que les espaces🎜Par exemple : 🎜rrreee🎜Le code ci-dessus utilise w+
pour faire correspondre un ou plusieurs caractères de mot et renvoie vrai. 🎜🎜🎜🎜 2. Utilisation d'expressions régulières 🎜🎜🎜🎜Correspondance de chaînes🎜 Vous pouvez utiliser la méthode test()
des expressions régulières pour détecter si une chaîne répond aux règles de correspondance. Il renvoie une valeur booléenne indiquant si la correspondance a réussi. Par exemple : 🎜rrreee🎜Le code ci-dessus utilise l'expression régulière /hello/
pour détecter si la chaîne "hello world" contient "hello". 🎜🎜🎜🎜Remplacement de chaîne🎜Vous pouvez utiliser la méthode replace()
d'une chaîne pour la remplacer en fonction d'un modèle d'expression régulière. Cette méthode accepte deux paramètres, le premier paramètre est le modèle à remplacer et le deuxième paramètre est la nouvelle chaîne utilisée pour le remplacement. Par exemple : 🎜rrreee🎜Le code ci-dessus remplace "hello" dans la chaîne "hello world" par "hi" et stocke le résultat dans newStr
. 🎜🎜🎜🎜Extraire les sous-chaînes🎜Vous pouvez utiliser la méthode exec()
des expressions régulières pour extraire les sous-chaînes qui correspondent aux règles de correspondance. Cette méthode renvoie un tableau contenant les sous-chaînes correspondantes et leurs informations de position. Par exemple : 🎜rrreee🎜Le code ci-dessus utilise l'expression régulière /d+/
pour extraire la sous-chaîne numérique de la chaîne. 🎜🎜🎜🎜Correspondance globale🎜Ajoutez le modificateur g
après l'expression régulière pour obtenir une correspondance globale. Par exemple : 🎜rrreee🎜Le code ci-dessus utilise l'expression régulière /abc/g
pour trouver toutes les correspondances de "abc" à partir de la chaîne "abcabcabc". 🎜🎜🎜🎜Conclusion : 🎜Cet article présente brièvement la syntaxe de base et les méthodes courantes des expressions régulières JavaScript, et fournit des exemples de code spécifiques. Les débutants peuvent comprendre et apprendre l’utilisation de base des expressions régulières sur la base de ces exemples. Les expressions régulières sont largement utilisées dans le traitement des chaînes. J'espère que les lecteurs pourront utiliser les expressions régulières de manière flexible pour résoudre des problèmes pratiques grâce à l'apprentissage. 🎜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!