Maison  >  Article  >  interface Web  >  Conseils sur les expressions régulières JavaScript

Conseils sur les expressions régulières JavaScript

php中世界最好的语言
php中世界最好的语言original
2018-03-17 15:11:571376parcourir

Cette fois, je vous apporte des astuces JavaScriptexpressions régulières, quelles sont les précautions lors de l'utilisation de JavaScriptexpressions régulières, et voici des cas pratiques. regarder.

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. Les amis qui en ont besoin peuvent s'y référer<.>

/* Environnement de test : Chrome 63.0.3239.132 */

Les valeurs facultatives​​des modificateurs d'objet réguliers dans JS sont : "i" "g" "m", c'est-à-dire, ignorer la casse pour la correspondance globale Mode multiligne

Métacaractères pris en charge par les expressions régulières dans JS :

1 : énumérer l'expression entre crochets, plage d'expression entre crochets, énumérer l'expression entre crochets inverses, plage prendre Inverse expression entre crochets

2 :. w W d D s S b B n r f v 888 uffff xff

3 : n? b} et les modèles non gourmands de ces quantificateurs

4 : ^ $ (?!) (?=) (?:)

Autres :

1 : Veuillez utiliser un numéro lors du référencement de groupes dans JS. Les groupes nommés tels que '' et <> ne sont pas pris en charge

2 : Le mode possession des quantificateurs n'est pas pris en charge

3. : L'inversion n'est pas prise en charge Regardez autour de vous

4 : Les expressions composées entre crochets prennent en charge les éléments suivants :

[abc0-9] [abcd] [dw^&] et ainsi de suite similaire

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 : indique si l'objet permet une correspondance globale, un 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 position où l'objet commence à correspondre la prochaine fois, c'est-à-dire la position où se termine la dernière correspondance, 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éée Expressions régulières :

1 : myreg = new RegExp(patternString[,globalFlags]);

2 : myreg = /yourRegexp /globalFlags;

Expression régulière en JS Méthodes couramment utilisées :

dans

Objet RegExp  :

1 : test(yourString); 🎜> définition : détecter si une chaîne correspond à un 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 particulières, voir le tableau ci-dessous :

、、...、 regexp中捕获的引用分组。
$& 本次匹配的文本。
$` 本次匹配到的子串左侧的文本。
$' 本次匹配到的子串右侧的文本。
$$ $本身。

Le deuxième paramètre de cette méthode peut être une fonction. La fonction sera appelée pour chaque correspondance, et la valeur de retour de la fonction sera. utilisé comme placement, qui est transmis au total 4 paramètres, le premier paramètre est le sous-texte correspondant cette fois ($&), le paramètre du milieu est la chaîne correspondante de sous-expression, le nombre n'est pas limité ($i), le second à. le dernier paramètre est le sous-texte correspondant cette fois. La position de l'indice du sous-texte, le dernier paramètre représente la chaîne elle-même qui exécute la méthode place.

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.

Je pense que vous maîtrisez la méthode après avoir lu le cas dans cet article. Pour des informations plus intéressantes, veuillez prêter attention aux autres articles connexes sur le site Web chinois de php. !

Lecture recommandée :

Jeu légendaire classique d'imitation JS

Comment gérer le chargement à chaud non valide du serveur de développement Webpack

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!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn