Maison  >  Article  >  interface Web  >  6 expressions régulières pour JavaScript (tutoriel détaillé)

6 expressions régulières pour JavaScript (tutoriel détaillé)

亚连
亚连original
2018-06-05 15:36:531878parcourir

Cet article présente principalement 6 méthodes d'expression régulière pour mémoriser JavaScript à la fois. Il est très bon et a une valeur de référence. Les amis dans le besoin peuvent s'y référer

Tout d'abord, le chiffre concret 6 peut nous aider. Mémoire globale.

Scope

Il existe deux classes en js qui permettent aux expressions régulières de fonctionner

Créer

var re = /ab+c/

Méthode 1 : Littéraux d'expression régulière Cette représentation directe de constantes peut améliorer les performances de l'analyseur js

var re = new RegExp('ab+c')

Méthode 2 : Constructeur, cette méthode peut déterminer dynamiquement ce qu'est l'expression régulière au moment de l'exécution, ce qui est plus flexible

Caractères spéciaux couramment utilisés

pour mémoriser certains caractères spéciaux couramment utilisés C'est la catégorie des expressions régulières elles-mêmes. Avez-vous toujours du mal à vous en souvenir ? En fait, je ne me souviens pas que je recherche et vérifie toujours en ligne pour effectuer certaines tâches. J’ai aussi été troublé. En fait, c’est finalement parce que je n’écrivais pas beaucoup et que je ne connaissais que ça. . . Le résumé suivant n'inclut pas de contenu spécifique, mais répertorie uniquement des caractères spéciaux et des catégories spécifiques. Vous pouvez essayer d'expliquer leur signification, je pense que cela est plus propice à la mémoire que de regarder des tableaux. . .

  • Montant correspondant : * + ? {n} {n,} {n,m} .

  • Position correspondante : ^ $

  • doit être placé entre parenthèses lors de la correspondance et doit prendre en charge le regroupement : (modèle de correspondance)

  • Conditions de correspondance : |

  • Correspond aux ensembles : []

  • Correspond aux non-ensembles : [^]

Il existe beaucoup plus de modèles de correspondance avec des significations spéciales composées de lettres et peuvent être interrogées lorsqu'elles sont utilisées. Il n'est pas nécessaire de s'en souvenir. En fait, je ne m'en souviens pas. . .

Exemples

Les exemples sont les meilleurs professeurs. . . . L'exemple vient de MDN

Je veux obtenir le tableau correspondant

var myRe = /d(b+)d/g; 
myRe.exec('cdbbdbsdbdbz') // ["dbbd", "bb", index: 1, input: "cdbbdbsdbdbz"] 
myRe.exec('cdbbdbsdbdbz') // ["dbd", "b", index: 7, input: "cdbbdbsdbdbz"] 
myRe.exec('cdbbdbsdbdbz') // null

Notez que chaque appel à exec pour chaque objet régulier ne renvoie qu'une seule correspondance si vous avez besoin d'obtenir toutes les correspondances. , vous avez besoin de l'acquisition de la boucle, l'indicateur de fin de boucle est la valeur de retour de la correspondance de chaîne null

'cdbbdbsdbdbz'.match(/d(b+)d/g) // ["dbbd", "dbd"] 
'cdbbdbsdbdbz'.match(/d(b+)d/) // ["dbbd", "bb", index: 1, input: "cdbbdbsdbdbz"]

. S'il s'agit d'une correspondance globale, tous les tableaux correspondants seront affichés. Le premier caractère correspondant sera affiché dans la chaîne et le contenu capturé correspondant

var str = 'hello world!'; 
var result = /^hello/.test(str); // true 
'cdbbdbsdbdbz'.search(/d(b+)d/) // 1 
'xxx'.search(/d(b+)d/) // -1 没有匹配 
var names = 'Harry Trump ;Fred Barney; Helen Rigby ; Bill Abel ;Chris Hand '; 
var re = /\s*;\s*/; 
var nameList = names.split(re); 
// [ "Harry Trump", "Fred Barney", "Helen Rigby", "Bill Abel", "Chris Hand " ]
var re = /apples/gi; 
var str = 'Apples are round, and apples are juicy.'; 
var newstr = str.replace(re, 'oranges'); 
// // oranges are round, and oranges are juicy.

Je veux savoir s'il correspond

var str = 'hello world!'; 
var result = /^hello/.test(str); // true

Je viens de le faire. je veux obtenir la position du premier match

'cdbbdbsdbdbz'.search(/d(b+)d/) // 1 
'xxx'.search(/d(b+)d/) // -1 没有匹配

Je veux diviser la chaîne en fonction de la correspondance

var names = 'Harry Trump ;Fred Barney; Helen Rigby ; Bill Abel ;Chris Hand '; 
var re = /\s*;\s*/; 
var nameList = names.split(re); 
// [ "Harry Trump", "Fred Barney", "Helen Rigby", "Bill Abel", "Chris Hand " ]

Je veux écraser la chaîne en fonction de la correspondance

var re = /apples/gi; 
var str = 'Apples are round, and apples are juicy.'; 
var newstr = str.replace(re, 'oranges'); 
// // oranges are round, and oranges are juicy.

Cette méthode de remplacement a de nombreuses utilisations, seule l'utilisation la plus basique est répertoriée. Il suffit de la vérifier lorsque vous en avez besoin. Il est préférable de la pratiquer une fois que vous avez le concept global plutôt que de forcer la mémorisation~<.>

Ce qui précède est ce que j'ai compilé pour tout le monde. J'espère qu'il sera utile à tout le monde à l'avenir.

Articles connexes :

Comment obtenir un classement par étoiles de type Taobao dans vue

Comment résoudre le problème de l'incapacité de pouvoir dynamiquement modifier le composant jqgrid dans vue Le problème de l'adresse URL

Comment utiliser Native dans React pour implémenter une actualisation déroulante personnalisée pour extraire la liste chargée

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