Maison > interface Web > js tutoriel > Trier l'utilisation de l'expression dans les compétences javascript_javascript

Trier l'utilisation de l'expression dans les compétences javascript_javascript

WBOY
Libérer: 2016-05-16 16:48:35
original
1783 Les gens l'ont consulté

Frère, j'ai récemment appris JavaScript. Quand j'ai appris l'expression régulière, j'ai trouvé que les points de connaissances étaient un peu déroutants, alors j'ai écrit un blog pour le résumer.

Définition

Il existe deux façons de définir reg exp en JavaScript :

1) Utilisez new exp : var exp1 = new exp("abc");
2) Placez le motif directement entre les deux /s : var exp2 = /abc/; . Il n'y a pas de guillemets doubles. Si vous les ajoutez, cela devient une chaîne

Caractères spéciaux

L'inspection visuelle montre que les caractères spéciaux sont les mêmes que ceux de Perl. . Utilisez-le simplement directement

d Caractères numériques
w Caractères alphanumériques (« caractères de mots »)
s Caractères d'espacement (espace, tabulation, nouvelle ligne et similaires)
D Caractères qui ne sont pas des chiffres
W Caractères non alphanumériques
S Caractères non-espaces
Un point correspond à tous les caractères sauf les nouvelles lignes
Il existe un moyen très simple de s'en souvenir :

d = chiffre C'est donc chiffres

w = mot Donc c'est des lettres

s = espace Donc c'est des espaces

Toutes les lettres majuscules sont inversées. .

Parenthèses []

Mettre le motif entre parenthèses signifie qu'il est vrai tant qu'il correspond à n'importe quel caractère. (Identique à Java ou Perl)

Par exemple,

Copiez le code Le code est le suivant :
console.log(/[01]/.test("023424")); // vrai

console.log(/[01]/.test("13424" )) ; // vrai

console.log(/[01]/.test("23424")); // faux

supports ()

signifie que tout doit correspondre à tout ce qui est entre parenthèses pour être vrai

Par exemple,

Copiez le code Le code est la suivante :
console.log(/[01]/.test("013424")); // true

console.log(/[01]/. test("13424")); // faux

console.log(/[01]/.test("230424")); // faux

console.log(/[ 01]/.test("230142401 ")); // true

Les quantificateurs

sont les mêmes que Java. . Cette montre est très bonne. . Frère, j'aime toujours utiliser


Greedy Reluctant Possessive Meaning
X? X?? X? X, once or not at all
X* X*? X* X, zero or more times
X X ? X X, one or more times
X{n} X{n}? X{n} X, exactly n times
X{n,} X{n,}? X{n,} X, at least n times
X{n,m} X{n,m}? X{n,m} X, at least n but not more thanm times

Fonctions d'objet d'expression

1) test C'est très simple, il suffit de mettre la chaîne à tester dans test(...), cette fonction retournera vrai/faux Représente la correspondance /unmatch

2) exec, cette fonction renvoie null si la chaîne correspondante n'est pas trouvée. Si elle est trouvée, elle renverra un tableau contenant les chaînes correspondantes dans l'ordre

3 ) Chaîne. .replace(expression1, string1) Cette fonction remplace la partie correspondante dans l'expression par string1, le groupe entre parenthèses

dans l'expression précédente peut être utilisé pour en remplacer une certaine partie. Par exemple, "co-ol".replace(/[w] -[w] /,"$2-$1"); //"ol-co" peut être utilisé jusqu'à 9 $

4)String. replace (expression, fonction) Il s'agit d'une version améliorée, et elle est très puissante. Vous pouvez définir n'importe quelle sortie via la fonction. L'utilisation spécifique n'est pas répertoriée ici, veuillez vous référer à

Cliquez pour ouvrir le lien

Génération dynamique d'expression reg
Lorsque les éléments que vous souhaitez utiliser dans reg exp ne sont connus que par runtime , cette méthode peut être appliquée
pour générer reg exp. En fait, il vous suffit d'utiliser une chaîne pour créer l'apparence de reg exp, puis d'utiliser le constructeur de Exp. (Mentionné en début d'article)

Par exemple :

Copiez le code Le code est le suivant :
var name = "cher"

"oh, mon cher".replace(new Exp(name), "dieu"); // oh, mon dieu

Mais s'il y a des caractères spéciaux dans le nom qui peuvent être utilisés dans les expressions régulières, la méthode ci-dessus tournera souvent mal.
Donc, dans ce cas, nous pouvons ajouter une barre oblique inverse devant chaque caractère de la chaîne d'entrée, par exemple :

Copier le code Le code est le suivant :
var name = df[]vxv;
var expName = name.replace("/[^/w/s]/g"," \$&");
"je m'appelle df[]vxv".replace(new Exp(name), "Bob"); // je m'appelle Bob

Étiquettes associées:
source:php.cn
Déclaration de ce site Web
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
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal