Les expressions régulières, en tant qu'outil puissant de correspondance et de traitement des chaînes, ont été largement implémentées et utilisées dans de nombreux langages. Cet article présente principalement un résumé des fonctions d'expression régulière JavaScript. J'espère que les amis qui en ont besoin pourront s'y référer. peut aider tout le monde.
/* Environnement de test : Chrome 63.0.3239.132 */
Les valeurs facultatives du modificateur d'objet régulier en JS sont : "i" "g" "m", ce qui signifie que la taille est ignorée Écrire un motif multiligne de correspondance globale
Métacaractères pris en charge par les expressions régulières dans JS :
1 : expression entre crochets d'énumération, expression entre crochets de plage, expression entre crochets inverses d'énumération Formule, expression entre crochets inverses
2 :. w W d D s S b B n r f v 888 uffff xff
3 : n? n{a,b} et modèles non gourmands de ces quantificateurs
4 : ^ $ (?!) (?=) (?:)
Autres :
1 : Veuillez utiliser un numéro pour le regroupement de référence dans JS. Les groupes nommés tels que '' et <> ne sont pas pris en charge
2 : Le mode de possession du quantificateur n'est pas pris en charge
3 : La recherche inversée n'est pas prise en charge.
4 : Les expressions composées entre crochets sont prises en charge comme suit :
[abc0-9] [abcd] [dw^&] et ainsi de suite. sur
5 : Prise en charge des combinaisons de modificateurs, telles que gim mig gi ig, etc., aucun ordre requis
Attributs d'objet réguliers JS :
global : si l'objet active le global matching, une valeur booléenne
ignoreCase : si l'objet active l'ignorance de la casse, une valeur booléenne
multiline : si l'objet active le mode multi-ligne, une valeur booléenne
lastIndex : la prochaine fois que l'objet La position de départ du match, c'est-à-dire la position où le dernier match s'est terminé, un entier positif
source : le texte source de l'expression régulière, c'est-à-dire l'expression rationnelle de /regexp/flag, ne contient pas de modificateurs, une chaîne
Créer une expression régulière :
1 : myreg = new RegExp(patternString[,globalFlags]);
2 : myreg = /yourRegexp/globalFlags;
JS Méthodes couramment utilisées dans les expressions régulières :
Dans les objets RegExp :
1 : test(yourString);
Définition : tester si une chaîne correspond à un certain modèle.
Autres notes : Cette méthode ignorera l'indicateur "g" et l'attribut lastIndex de l'objet régulier (c'est-à-dire qu'elle commencera toujours par le début tant qu'une chaîne correspondant au modèle est trouvée, la correspondance). sera couronné de succès.
2 : exec(yourString);
Définition : Récupérer les correspondances d'expressions régulières dans une chaîne.
Autres instructions : Si l'indicateur "g" n'est pas activé, il ne recherchera qu'une seule fois, sans modifier l'attribut lastIndex de l'objet normal, et renverra un objet contenant l'indice 0, l'index et l'entrée At. cette fois, les attributs sont équivalents à correspondre ; l'activation de "g" modifiera la propriété lastIndex de l'objet régulier à la position finale de la sous-chaîne trouvée cette fois et renverra un objet qui est le même que si "g" n'était pas allumé. (Vous pouvez modifier l'attribut lastIndex de l'objet normal pour spécifier la position où exec commence la recherche.)
Dans l'objet String :
1 : search(yourRegexpOrString);
définition : Récupère les sous-chaînes dans une chaîne qui correspondent à la sous-chaîne ou à l'expression régulière spécifiée.
Autres notes : Cette méthode ignorera l'indicateur "g" et l'attribut lastIndex de l'objet normal (c'est-à-dire qu'elle commencera toujours par le début), renverra la position du premier caractère trouvé et renverra -1 s'il n'est pas trouvé.
2 : match(yourRegexpOrString);
Définition : Recherche une ou plusieurs chaînes dans une chaîne qui correspondent à une expression régulière et renvoient un objet. (Ignorez l'attribut laseIndex)
Autres instructions : Si l'indicateur "g" n'est pas activé, seule la première chaîne correspondante sera recherchée et un objet sera renvoyé, y compris l'indice 0, l'index, l'entrée, où indice 0 Équivalent à l'index, l'entrée est une référence à String ; active "g" et renvoie un tableau. La longueur du tableau est le nombre de chaînes correspondantes, et chaque élément est la position du caractère de départ de chaque correspondance.
3 : replace(yourRegexpOrString,placementString);
Définition : Utilisé pour remplacer certains caractères par d'autres caractères dans une chaîne, ou remplacer une sous-chaîne qui correspond à une expression régulière.
Autres notes : ne seront remplacées qu'une seule fois s'il n'y a pas d'indicateur "g", et toujours une fois si l'argument est une chaîne plutôt qu'un objet regex. Renvoie une chaîne résultant du remplacement de yourRegexpOrString par placementString. $ dans placementString a des utilisations spéciales, voir le tableau ci-dessous :
、、...、 | regexp中捕获的引用分组。 |
$& | 本次匹配的文本。 |
$` | 本次匹配到的子串左侧的文本。 |
$' | 本次匹配到的子串右侧的文本。 |
$$ | $本身。 |
Le deuxième paramètre de cette méthode peut être une fonction. Cette fonction sera appelée pour chaque correspondance, et la valeur de retour de la fonction est utilisée comme placement. Un total de 4 paramètres sont transmis. Le premier paramètre est le sous-texte de ceci. match ($ &), le paramètre du milieu est la chaîne correspondante de la sous-expression, le nombre n'est pas limité ($i), l'avant-dernier paramètre est la position de l'indice du sous-texte correspondant et le dernier paramètre représente la chaîne elle-même qui exécute le méthode de lieu.
4 : split(yourRegexpOrString[,howMany]);
Définition : Diviser une chaîne en un tableau de valeurs de chaîne.
Autres instructions : C'est l'opération inverse de arr.join(separatorString). Si "" est passé, chaque caractère sera séparé dans un tableau. howMany spécifie le nombre de tableaux renvoyés.
Recommandations associées :
Syntaxe de base couramment utilisée des expressions régulières JavaScript
Explication détaillée des expressions régulières JavaScript et des effets en cascade
Définition et introduction des expressions régulières javascript
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!