Maison  >  Article  >  interface Web  >  Analyse des points clés des expressions régulières JS

Analyse des points clés des expressions régulières JS

小云云
小云云original
2018-01-30 17:20:181509parcourir

Cet article partage principalement avec vous les points clés des expressions régulières JS Depuis que j'ai déjà regardé le code source de VueJS et vu la partie HtmlParser, j'ai senti que les connaissances de base des expressions régulières que j'avais vues auparavant étaient complètement insuffisantes. . Maintenant, j'ai lu les informations du blog et j'y ai mis quelques informations. Les parties difficiles à utiliser des expressions régulières en JS sont résumées pour faciliter la lecture pour vous et vos amis SF

Regroupement régulier.

Correspondance répétée

Pour une correspondance répétée, nous utilisons souvent Pratiquons la fonction de regroupement des expressions régulières en utilisant des adresses IP correspondantes régulières

Supposons que l'adresse IP que nous voulons. la correspondance est comprise entre 0.0.0.0 et 255.255.255.255. Nous pouvons comprendre intuitivement que nous devons seulement faire correspondre trois chiffres + point trois fois, puis faire correspondre trois chiffres une fois

Les trois chiffres + point mentionnés ici sont. une règle dont nous parlons, nous pouvons l'utiliser dans l'expression Convertissez-les en règles : d{1,3}. Lorsque nous mettons les règles entre parenthèses, elles deviennent des groupes : (d{1,3}.), donc l'expression régulière correspondant aux adresses IP peut être écrite : (d{1,3}.){3}d{1,3}

Une autre façon de penser, on peut aussi faire des correspondances comme ceci : d{1,3}(.d{1,3}){3}

Extension : Si vous êtes intelligent, vous avez peut-être pensé qu'il y avait des omissions dans la correspondance de d{1,3}. Dans le processus de production actuel, d{1,3} peut correspondre 999 Ce type de numéro est un mauvais segment d'adresse IP. La véritable correspondance régulière de l'adresse IP est publiée ici pour votre référence : ((25[0-5]|2[0-4]d|((1d{2})|([1-9]?d))).){3}(25[0-5]|2[0-4]d|((1d{2})|([1-9]?d))), et ce qui est agréable, c'est. que la stratégie de regroupement qu'il utilise reste inchangée.

Référence arrière (référence inversée)

Nous considérons une situation très particulière lorsque nous voulons faire correspondre quatre segments IP identiques, tels que 100.100.100.100, la stratégie des groupes d'appariement répétés échoue. : L'appariement répété des groupes ne garantit pas l'appariement des mêmes nombres -> À ce stade, nous devons utiliser le pouvoir de la stratégie 后向引用 (Jeune homme, aspirez-vous au pouvoir 2333, piquez mon avatar et vous emmenez explorer le chemin littéraire et artistique où la musique et le code sont entrelacés.)

Référence arrière Il existe différentes syntaxes dans l'écriture d'expressions régulières dans différents langages. Nous discutons de la plus courante en JS, qui est une référence arrière sous la forme : number, où, number représente le numéro de série du groupe

vous donne une simple châtaigne dont vous pouvez vous souvenir en un instant si on veut faire correspondre. nombres répétés à trois chiffres, nous marquons la règle de correspondance d'un nombre en tant que groupe : (d), Répétez la correspondance 这个分组(第一个分组)的具体内容 trois fois : (d)1, Cela atteint l'objectif

Nous pouvons. distinguer facilement les correspondances répétées et les références arrière : la première consiste à faire correspondre à plusieurs reprises la même règle, la seconde est le contenu spécifique du groupe de correspondance

Certaines règles par défaut doivent être comprises et mémorisées :

  • représente l'intégralité du contenu correspondant des expressions régulières

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