1. Méthodes pour définir des expressions régulières
Il existe deux façons de définir des expressions régulières: la définition du constructeur et la définition de la quantité directe de l'expression régulière. Par exemple:
Copiez le code comme suit: var reg1 = new regexp ('/ d {5, 11}');
var reg2 = // d {5, 12} /;
Les expressions régulières mesurent directement les caractères
/ o: Nul caractères (/ u0000)
/ T: caractère d'onglet (/ u0009)
/ n: le caractère newline (/ u000a)
/ v: caractère d'onglet vertical (/ u000b)
/ F: Changement de page (/ U000C)
/ r: Caractère de retour du chariot (/ U000D)
/ xnn: caractère latin spécifié par le numéro hexadécimal nn, par exemple, / x0a est équivalent à / n
/ uxxxx: les caractères Unicode spécifiés par le numéro hexadécimal xxxx, par exemple / u0009, équivaut à / t
/ cx: caractère de contrôle ^ x, par exemple, / cj est équivalent à la pause de ligne / n
Expression régulière des personnages d'ancrage
^: Faites correspondre le début d'une chaîne, en recherche multi-lignes, correspond au début d'une ligne
$: Faites correspondre la fin d'une chaîne, en recherche multi-lignes, correspond à la fin d'une ligne
/ B: Faites correspondre la limite d'un mot.
/ B: Faites correspondre la position des limites non mot
(? = p): L'affirmation avant de largeur zéro est nécessaire pour correspondre à P, mais ne pas inclure les personnages qui correspondent P
(?! P): la direction négative zéro largeur s'affirme d'abord, exigeant que la chaîne suivante ne correspond pas à P
Classes de caractères pour les expressions régulières
[...]: Tout personnage dans les carrés
[^ ...]: Tout personnage pas dans les crochets
.: Tout caractère sauf les pauses de ligne 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 est équivalent à [^ a-za-z0-9]
/ s: tout espace unicode
/ S: tous les caractères blancs d'espace non unicode, notez que / w et / s sont différents
/ d: tout numéro ASCII, équivalent à [0-9]
/ D: tout caractère sauf le numéro ASCII, équivalent à [^ 0-9]
[/ b]: Quantité directe arrière (cas spécial)
Répéter la syntaxe des caractères pour les expressions régulières
{n, m}: Faites correspondre l'élément précédent au moins n fois, mais pas plus que m fois
{n,}: Faites correspondre l'élément précédent n fois ou plus
{n}: correspondez à l'élément précédent n fois
?: Faites correspondre l'élément précédent 0 ou 1 fois, c'est-à-dire que l'élément précédent est facultatif, équivalent à {0, 1}
+: Faites correspondre l'élément précédent 1 ou plus, équivalent à {1,}
*: Faites correspondre l'élément précédent 0 ou plus, équivalent à {0,}
Sélection, regroupement et les caractères de référence des expressions régulières
|: Sélectionnez, correspondant à la sous-expression à gauche ou sous-expression à droite
(…): Combinaison, combinez plusieurs éléments dans une unité, qui peut être modifiée par des symboles tels que "*", "+", "?" utiliser
(?: ...): Combinez uniquement les éléments, combinez des éléments dans une unité, mais ne vous souvenez pas des personnages qui correspondent au shuffle
/ N: correspond au personnage qui correspond à la première fois que le groupe correspond au groupe. Le regroupement de formulaires n'est pas codé
Modificateur d'expression régulière
I: Effectuer une correspondance insensible à la cas
G: Effectuez un match mondial, en bref, trouvez tous les matchs, au lieu de s'arrêter après avoir trouvé le premier
M: Modèle de correspondance multi-lignes, ^ correspond au début d'une ligne et au début d'une chaîne, $ correspond à la fin d'une ligne et à la fin d'une chaîne
Méthode de chaîne pour la correspondance des modèles
Search (): Son argument est une expression régulière, renvoyant la position de départ de la première sous-chaîne pour la faire correspondre et renvoie -1 s'il n'y a pas de sous-chaîne correspondante. Si le paramètre de Search () n'est pas une expression régulière, il sera d'abord converti en une expression régulière via le constructeur regexp, Search () ne prend pas en charge la recherche globale car il ignore le modificateur g. comme:
La copie de code est la suivante:
var s = "javascript" .search (/ script / i);
remplacer (): il est utilisé pour effectuer la récupération et le remplacement. Recevez deux paramètres, le premier est l'expression régulière, et la seconde est la chaîne à remplacer. Si l'expression régulière est définie, une substitution globale est effectuée, sinon seule la première sous-chaîne correspondante est remplacée. Si le premier argument n'est pas une expression régulière, recherchez directement la chaîne au lieu de la convertir en une expression régulière. comme:
Copiez le code comme suit: var s = "javascript" .replace (/ java / gi, "script");
Match (): son argument est une expression régulière. Si le modificateur G est défini, la correspondance globale est effectuée. comme:
Copiez le code comme suit: var d = '55 ff 33 HH 77 tt'.match (// d + / g);
Split (): Cette méthode est utilisée pour diviser la chaîne qui l'appelle en un tableau composé de sous-chaînes. comme:
Copiez le code comme suit: var d = '123,31,453 645'.split (', ');
var d = '21, 123, 44, 64, 67, 3'.split (// s *, / s * /); , "67", "3"]
2. Objet Regexp
Chaque objet regexp a 5 propriétés. La source de propriété est une chaîne en lecture seule contenant du texte d'une expression régulière. La propriété Global est une valeur booléenne en lecture seule pour indiquer si l'expression régulière a un modificateur g. La propriété IgnoreCase est une valeur booléenne en lecture seule pour indiquer si l'expression régulière a un modificateur i. La propriété Multiline est une valeur booléenne en lecture seule pour indiquer si l'expression régulière a un modificateur m. La propriété LastIndex est un entier lisible et écrit.
Il existe deux méthodes pour l'objet regexp. Le paramètre EXEC () est une chaîne et sa fonction est similaire à Match (). Si aucune correspondance, renvoyez NULL. La question de savoir 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 un modificateur G, il définira la propriété LastIndex de l'objet d'expression régulière actuel sur la position de caractère à côté de la sous-chaîne correspondante. Lorsque la même expression régulière appelle Exec () la deuxième fois, il commencera à récupérer à partir de la chaîne indiquée par la propriété LastIndex, et si Exec () ne trouve aucun résultat correspondant, il réinitialise LastIndex à 0. comme:
La copie de code est la suivante: var p = / java / g;
var text = "JavaScript est plus amusant que Java!"
var r;
while ((r = p.exec (texte))! = null) {
Console.log (R, 'LastIndex:' + P.LastIndex);
}
Une autre méthode est Test (), qui a un paramètre qui est une chaîne. comme:
La copie de code est la suivante: var p = / java / i;
P.Test («JavaScript»);