1. Comment définir des expressions régulières
Il existe deux manières de définir des expressions régulières : la définition du constructeur et la définition littérale de l'expression régulière. Par exemple :
Caractère littéral d'expression régulière
o : caractère NUL (u0000)
t : caractère de tabulation (u0009)
n : caractère de nouvelle ligne (u000A)
v : caractère de tabulation verticale (u000B)
f : Caractère de saut de page (u000C)
r : Caractère de retour chariot (u000D)
xnn : Caractère latin spécifié par le nombre hexadécimal nn Par exemple, x0A est équivalent à
uxxxx : Caractère Unicode spécifié par le nombre hexadécimal xxxx, par exemple, u0009 est équivalent à
🎜> ^ : Correspond au début d'une chaîne en récupération multiligne, correspond au début d'une ligne
$. : Correspond à la fin d'une chaîne. Dans la récupération multiligne, correspond à la fin d'une ligne
b : Correspond à un mot La limite, en bref, est la position entre les caractères w et W, ou la position entre le caractère. w et le début ou la fin de la chaîne ([b] correspond au caractère d'espacement arrière)
B : correspond à non- La position de la limite du mot
(?=p) : assertion anticipée positive de largeur nulle, nécessitant le caractères suivants pour correspondre à p, mais n'incluant pas les caractères qui correspondent à p
(?!p) : assertion négative de largeur nulle à l'anticipation, exigeant que la chaîne suivante ne corresponde pas à p
Classe de caractères d'expression régulière
[...] : Tout caractère entre crochets
[^...] : Pas entre crochets Tout caractère entre crochets
. : Tout caractère à l'exception des nouvelles lignes et autres terminateurs de ligne Unicode
w : Tout mot composé de caractères ASCII, équivalent à [a-zA-Z0-9]
W : Tout mot qui n'est pas composé de caractères ASCII, équivalent à [^a-zA-Z0-9]
s : Tout Caractère d'espacement Unicode
S : Tout caractère d'espacement non Unicode, faites attention à w et S Différents
d : Tout nombre ASCII, équivalent à [0-9]
D : Tout caractère à l'exception des chiffres ASCII, équivalent à [^0-9]
[b] : Retour arrière Quantité directe (cas particulier)
Syntaxe des caractères répétés de l'expression régulière
{n, m} : Correspond à l'élément précédent au moins n fois, mais pas plus de m fois
{n, } : Faire correspondre l'élément précédent n fois ou plus
{n} : Faire correspondre l'élément précédent n fois
? : Faire correspondre l'élément précédent 0 ou 1 fois, ce qui signifie que le l'élément précédent est facultatif, équivalent à {0, 1}
: fait correspondre l'élément précédent 1 fois ou plus, équivalent à {1, >
* : correspond à l'élément précédent 0 fois ou plus, équivalent à {0, >
expression régulière Sélection, regroupement et caractères de référence des expressions
| : Sélection, faisant correspondre la sous-expression à gauche ou la sous-expression à droite du symbole
(…) : Combinaison, combinant plusieurs éléments en un seul unité, ces unités peuvent être modifiées par des symboles tels que "*", " ", "?" et "|", et la chaîne correspondant à ce groupe peut être mémorisée pour toute utilisation ultérieure
(?: ...) : uniquement Combinaison, combinez des éléments en une unité, mais ne vous souvenez pas des caractères correspondant au mélange
n : correspond au premier caractère correspondant du nième groupe, le groupe est une sous-expression entre parenthèses (il peut aussi être imbriqué), le groupe index est le nombre de crochets gauches de gauche à droite, le regroupement sous la forme de "(?:" n'est pas codé
Modificateur d'expression régulière
i : Effectuer une correspondance insensible à la casse
g : Effectuer une correspondance globale , en bref, trouver toutes les correspondances au lieu de s'arrêter après avoir trouvé la première
m : Mode de correspondance multi-lignes, ^ correspond au début d'une ligne et au début d'une chaîne, $ correspond à la fin de la ligne et à la fin de la chaîne
Méthode de chaîne pour la correspondance de modèles
search() : Son paramètre est une expression régulière, renvoyant la position de départ de la première sous-chaîne correspondante. S'il n'y a pas de sous-chaîne correspondante, -1 est renvoyé. Si le paramètre de search() n'est pas une expression régulière, il sera d'abord converti en expression régulière via le constructeur RegExp. search() ne prend pas en charge la récupération globale car il ignore le modificateur g. Par exemple :
replace() : Il est utilisé pour effectuer la récupération et le remplacement. Reçoit deux paramètres, le premier est l'expression régulière et le second est la chaîne à remplacer. Si le modificateur g est défini dans l'expression régulière, un remplacement global est effectué, sinon seule la première sous-chaîne correspondante est remplacée. Si le premier argument n'est pas une expression régulière, la chaîne est recherchée directement au lieu d'être convertie en expression régulière. Par exemple :
Match() : Son paramètre est une expression régulière. Sinon, il est converti via RegExp et renvoie un tableau composé de résultats correspondants. Si le modificateur g est défini, une correspondance globale est effectuée. Par exemple :
split() : Cette méthode permet de diviser la chaîne qui l'appelle en un tableau de sous-chaînes. Le délimiteur utilisé est le paramètre de split(), et son paramètre peut également être une expression régulière. Par exemple :
2. Objet RegExp
Chaque objet RegExp possède 5 attributs. L'attribut source est une chaîne en lecture seule contenant le texte de l'expression régulière. L'attribut global est une valeur booléenne en lecture seule qui indique si cette expression régulière possède le modificateur g. L'attribut ignoreCase est une valeur booléenne en lecture seule qui indique si cette expression régulière a le modificateur i. L'attribut multiligne est une valeur booléenne en lecture seule qui indique si cette expression régulière possède le modificateur m. L'attribut lastIndex est un entier lisible et inscriptible. Si le modèle correspondant a le modificateur g, cet attribut stocke la position de départ de la recherche suivante dans la chaîne entière.
L'objet RegExp a deux méthodes. Le paramètre de exec() est une chaîne et sa fonction est similaire à match(). La méthode exec() exécute une expression régulière sur une chaîne spécifiée, c'est-à-dire effectue une recherche correspondante dans une chaîne. Si aucune correspondance n'est trouvée, null est renvoyé. Si une correspondance est trouvée, un tableau est renvoyé. Le premier élément de ce tableau contient la chaîne correspondant à l'expression régulière, et les éléments restants sont les sous-expressions entre parenthèses. si l'expression régulière a un modificateur g, renverra le même tableau. Lorsque l'objet d'expression régulière appelant exec() a le modificateur g, il définira la propriété lastIndex de l'objet d'expression régulière actuel à la position du caractère immédiatement à côté de la sous-chaîne correspondante. Lorsque exec() est appelé une deuxième fois avec la même expression régulière, il commencera à récupérer à partir de la chaîne indiquée par l'attribut lastIndex. Si exec() ne trouve aucun résultat correspondant, il réinitialisera lastIndex à 0. Par exemple :
Une autre méthode est test(). Son paramètre est une chaîne. Utilisez test() pour vérifier une certaine chaîne si elle contient un résultat correspondant à l'expression régulière, elle retournera vrai sinon elle retournera faux. Par exemple :