Comment écrire des expressions régulières pour coder avec javascript

Avant que vous pouvez faire usage d'une expression régulière en javascript, vous devez créer un objet contenant l'expression. Vous pouvez écrire des expressions régulières dans l'une des deux manières:

Sommaire

  • En utilisant une expression régulière littérale

  • Grâce à la fonction constructeur de la RegExp objet

Utilisation de l'objet RegExp

Lorsque vous créez une expression régulière en appelant le RegExp fonction constructeur, l'objet résultant est créé au moment de l'exécution, plutôt que lorsque le script est chargé. Vous devez utiliser le RegExp fonction constructeur lorsque vous ne connaissez pas la valeur de l'expression régulière quand vous écrivez le script.

Par exemple, vous demandez peut-être à l'utilisateur de saisir une expression régulière, ou vous pourriez recevoir l'expression régulière à partir d'une source externe ou de calculer une partie de l'expression régulière lorsque le script est exécuté.

Ce programme crée une expression régulière en utilisant une lettre aléatoire et demande ensuite à l'utilisateur de taper une phrase. Lorsque l'utilisateur soumet le formulaire, le programme calcule le nombre d'instances de la lettre aléatoire étaient dans le texte soumis par les utilisateurs.

Lettre Jeu de comptage

Ceci est le résultat de l'exécution du programme précédent dans un navigateur Web.

Le résultat Lettre de jeu de comptage.
Le résultat Lettre de jeu de comptage.

Littéraux d'expressions régulières

Pour créer une expression régulière littérale, vous placez la valeur de l'expression régulière entre les barres obliques au lieu de citations.




Par example:

var myRegularExpression = / javascript / -

Littéraux d'expressions régulières sont compilées par le navigateur lorsque le script est chargé et reste constante à travers la vie du script. Le résultat est que les littéraux d'expressions régulières offrent de meilleures performances pour les expressions qui seront immuable.

L'exemple précédent utilise une expression régulière pour chercher une correspondance exacte de la chaîne javascript. Une expression régulière contenant une chaîne de caractères à être appariés exactement est appelé modèle simple.

Dans une application réelle ou d'un programme, vous aurez envie de tenir compte des utilisateurs qui utilisent une certaine variation sur l'orthographe correcte. Par exemple, un utilisateur peut entrée l'un des mots suivants et clairement javascript signifie:

  • javascript

  • javascript

  • java script

  • JS

  • js

Il peut même y avoir des variations plus exotiques. Une des choses merveilleuses et frustrant de traiter avec entrée de vraies personnes vivantes est que vous ne savez jamais avec certitude ce qu'ils vont faire! Afin d'être en mesure de détecter des variations de la capitalisation et de l'orthographe, vous pouvez utiliser des expressions régulières plus sophistiqués pour rechercher des modèles ou des ensembles de caractères, plutôt que seulement les chaînes littérales.

Ce qui suit est une expression régulière révisée qui correspondent à javascript aussi bien que “javascript ou javascript:

var myRegularExpression = / [Jj] ava [Ss] CRIPT / -

Les choses commencent à regarder un peu étrangère, mais si vous comprenez la signification des différents personnages, vous verrez que cela est effectivement encore assez simple. Les crochets dans une expression régulière définissent un ensemble de caractère et correspond à tout l'un des personnages au sein de cet ensemble. Par écrit [Jj], ce que vous dites est que soit un capital ou minuscules j correspondra.

Tester les expressions régulières

Parfois, quand vous écrivez des expressions régulières, il est utile d'avoir un moyen facile de tester une expression pour vous assurer qu'il est en train de faire ce que vous voulez. Un certain nombre de sites et d'outils peuvent vous aider à tester vos expressions régulières.

regex101.com est un de ces sites. Pour utiliser regex101.com, tapez votre expression régulière dans la boîte en haut de l'écran et tapez du texte dans la case en dessous. Le site vérifie le texte contre l'utilisation de l'expression régulière et met en évidence les matchs que l'on trouve.

Cela montre regex101.com utilisant notre exemple l'expression régulière pour tester contre une question à propos de javascript.

Utilisation regex101.com pour tester une expression régulière.
Utilisation regex101.com pour tester une expression régulière.

Les caractères spéciaux dans les expressions régulières

Les expressions régulières permettent pour vous de regarder pour les numéros dans les cordes, des lettres, des groupes de lettres, les répétitions de caractères, et bien plus encore.

Pour créer des modèles de recherche complexes, vous pouvez utiliser les caractères spéciaux d'expression régulière. Les caractères spéciaux les plus couramment utilisés sont listés ici.

Caractère spécialSignification
Indique si le caractère suivant doit être traitée comme aspecial caractère ou si elle doit être traitée comme une literalcharacter. Si le caractère suivant est un caractère spécial, le désigne qu'il devrait être traité littéralement.
^Trouve le début de l'entrée.
$Trouve la fin de l'entrée.
*Trouve le caractère 0 ou plusieurs fois précédentes.
+Trouve les caractères 1 ou plusieurs fois précédentes.
?Trouve le caractère 0 ou 1 fois précédente.
.Trouve tout caractère unique à l'exception du caractère de nouvelle ligne.
x | yTrouve x ou y.
{n}Trouve exactement n occurrences du caractère précédent.
[xyz]Trouve une quelconque des caractères dans les supports.
[xyz ^]Trouve des caractères autres que ceux dans les supports.
[b]Trouve un retour en arrière.
bTrouve une limite de mot.
BTrouve une limite non-mot.
Trouve un personnage de chiffres.
Trouve tout caractère non numérique.
nTrouve un saut de ligne.
sTrouve un seul caractère d'espace blanc, y compris l'espace, tabulation, saut et saut de ligne.
STrouve un seul caractère non blanc-espace.
tTrouve un onglet.
wTrouve tout caractère alphanumérique, y compris anunderscore.
WTrouve tout caractère non-mot.

» » » » Comment écrire des expressions régulières pour coder avec javascript