ES6 - RegExp

Une expression régulière est un objet qui décrit un modèle de caractères. Les expressions régulières sont souvent abrégées "regex" ou "regexp».

Le JavaScript RegExp La classe représente des expressions régulières, et String et RegExp définissent des méthodes qui utilisent des expressions régulières pour exécuter de puissantes fonctions de correspondance de modèles et de recherche et remplacement sur le texte.

Une expression régulière peut être définie comme -

var pattern = new RegExp(pattern, attributes); 
OR 
var pattern = /pattern/attributes;

L'attribut peut avoir n'importe quelle combinaison des valeurs suivantes.

Sr.Non Attribut et description
1

G

Match global

2

I

Ignorer la casse

3

M

Multiline; traiter les caractères de début et de fin (^ et $) comme travaillant sur plusieurs lignes (c'est-à-dire correspondre au début ou à la fin de chaque ligne (délimitée par \ n ou \ r), pas seulement le tout début ou la fin de toute la chaîne d'entrée )

4

U

Unicode; traiter le motif comme une séquence de points de code unicode

5

Y

Gluant; correspond uniquement à partir de l'index indiqué par la propriété lastIndex de cette expression régulière dans la chaîne cible (et n'essaie pas de faire la correspondance à partir des index ultérieurs)

Construire des expressions régulières

Supports

Les crochets ([]) ont une signification particulière lorsqu'ils sont utilisés dans le contexte d'expressions régulières. Ils sont utilisés pour trouver une gamme de caractères.

Sr.Non Expression et description
1

[...]

N'importe quel caractère entre les crochets

2

[^...]

Tout caractère non compris entre les crochets

3

[0-9]

Il correspond à n'importe quel chiffre décimal de 0 à 9

4

[a-z]

Il correspond à n'importe quel caractère en minuscules a en minuscules z

5

[A-Z]

Il correspond à n'importe quel caractère en majuscule A par Z majuscule

6

[a-Z]

Il correspond à n'importe quel caractère en minuscules a par Z majuscule

Les plages indiquées ci-dessus sont générales; vous pouvez également utiliser la plage [0-3] pour correspondre à tout chiffre décimal compris entre 0 et 3, ou la plage [bv] pour correspondre à tout caractère minuscule allant de b à v.

Quantificateurs

La fréquence ou la position des séquences de caractères entre crochets et des caractères uniques peuvent être désignées par un caractère spécial. Chaque caractère spécial a une connotation spécifique. le+, *, ?, et $ les drapeaux suivent tous une séquence de caractères.

Sr.Non Expression et description
1

p+

Il correspond à toute chaîne contenant au moins un p.

2

p*

Il correspond à toute chaîne contenant zéro ou plus p's

3

p?

Il correspond à toute chaîne contenant un ou plusieurs p's

4

p{N}

Il correspond à toute chaîne contenant une séquence de N p's

5

p{2,3}

Il correspond à n'importe quelle chaîne contenant une séquence de deux ou trois p's

6

p{2, }

Il correspond à toute chaîne contenant une séquence d'au moins deux p's

sept

p$

Il correspond à n'importe quelle chaîne avec p à la fin

8

^p

Il correspond à n'importe quelle chaîne avec p au début

9

[^a-zA-Z]

Il correspond à toute chaîne ne contenant aucun des caractères compris entre a à travers z et A à travers Z

dix

p.p

Il correspond à toute chaîne contenant p, suivi de n'importe quel caractère, à son tour suivi d'un autre p

11

^.{2}$

Il correspond à toute chaîne contenant exactement deux caractères

12

<b>(.*)</b>

Il correspond à toute chaîne comprise entre <b> et </b>

13

p(hp)*

Il correspond à toute chaîne contenant un p suivi de zéro ou plusieurs instances de la séquence hp

Caractères littéraux

Sr.Non Caractère et description
1

Alphanumeric

Lui-même

2

\0

Le caractère NULL (\ u0000)

3

\t

Onglet (\ u0009)

4

\n

Nouvelle ligne (\ u000A)

5

\v

Onglet Vertical (\ u000B)

6

\f

Saut de formulaire (\ u000C)

sept

\r

Retour chariot (\ u000D)

8

\xnn

Le caractère latin spécifié par le nombre hexadécimal nn; par exemple, \ x0A est identique à \n

9

\uxxxx

Le caractère Unicode spécifié par le nombre hexadécimal xxxx; par exemple, \ u0009 équivaut à\t

dix

\cX

Le caractère de contrôle ^ X; par exemple, \ cJ équivaut au caractère de nouvelle ligne\n

Méta-caractères

UNE meta-character est simplement un caractère alphabétique précédé d'une barre oblique inverse qui agit pour donner à la combinaison une signification particulière.

Par exemple, vous pouvez rechercher une grosse somme d'argent en utilisant le '\d'méta-caractère: / ([\ d] +) 000 /. Ici,\d recherchera n'importe quelle chaîne du caractère numérique.

Le tableau suivant répertorie un ensemble de méta-caractères qui peuvent être utilisés dans les expressions régulières de style PERL.

Sr.Non Caractère et description
1

.

Un seul personnage

2

\s

Un caractère d'espacement (espace, tabulation, nouvelle ligne)

3

\S

Caractère sans espace

4

\d

Un chiffre (0-9)

5

\D

Un non-chiffre

6

\w

Un caractère de mot (az, AZ, 0-9, _)

sept

\W

Un caractère autre qu'un mot

8

[\b]

Un retour arrière littéral (cas particulier)

9

[aeiou]

Correspond à un seul caractère dans l'ensemble donné

dix

[^aeiou]

Correspond à un seul caractère en dehors de l'ensemble donné

11

(foo|bar|baz)

Correspond à l'une des alternatives spécifiées

Propriétés RegExp

Sr.Non Propriétés et description
1 RegExp.prototype.flags

Une chaîne qui contient les indicateurs de l'objet RegExp

2 RegExp.prototype.global

S'il faut tester l'expression régulière par rapport à toutes les correspondances possibles dans une chaîne ou uniquement par rapport à la première

3 RegExp.prototype.ignoreCase

Indique s'il faut ignorer la casse lors d'une tentative de correspondance dans une chaîne

4 RegExp.prototype.lastIndex

Indique si la propriété en lecture / écriture des objets RegExp.

5 RegExp.prototype.multiline

Recherche ou non dans les chaînes sur plusieurs lignes

6 RegExp.prototype.source

Le texte du motif

Méthodes RegExp

Sr.Non Méthode et description
1 RegExp.prototype.exec ()

Exécute une recherche de correspondance dans son paramètre de chaîne

2 RegExp.prototype.test ()

Teste une correspondance dans son paramètre de chaîne

3 RegExp.prototype.match ()

Effectue une correspondance avec la chaîne donnée et renvoie le résultat de la correspondance

4 RegExp.prototype.replace ()

Remplace les correspondances dans la chaîne donnée par une nouvelle sous-chaîne

5 RegExp.prototype.search ()

Recherche la correspondance dans la chaîne donnée et renvoie l'index du modèle trouvé dans la chaîne

6 RegExp.prototype.split ()

Divise la chaîne donnée en un tableau en séparant la chaîne en sous-chaîne

sept RegExp.prototype.toString ()

Renvoie une chaîne représentant l'objet spécifié. Remplace la méthodeObject.prototype.toString ()