From 2ffb4d564e0d2f0cd41068a07bb140952f7b250b Mon Sep 17 00:00:00 2001 From: gabrieltchekemian <50210693+gabrieltchekemian@users.noreply.github.com> Date: Wed, 26 Jun 2019 15:46:03 -0400 Subject: [PATCH 1/2] Update article.md --- .../01-regexp-introduction/article.md | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/9-regular-expressions/01-regexp-introduction/article.md b/9-regular-expressions/01-regexp-introduction/article.md index 57fe02f5d..9fb24e30b 100644 --- a/9-regular-expressions/01-regexp-introduction/article.md +++ b/9-regular-expressions/01-regexp-introduction/article.md @@ -1,16 +1,16 @@ -# Patterns and flags +# Modèles et marqueurs -A regular expression (also "regexp", or just "reg") consists of a *pattern* and optional *flags*. +Une expression rationnelle ("regular expressionÉ en anglais, abrévié en "regexp", ou juste "reg") consiste en un *modèle* et des *marqueurs* optionnels. -There are two syntaxes to create a regular expression object. +Il existe deux syntaxes pour créer un objet expression rationnelle. -The long syntax: +La syntaxe longue: ```js regexp = new RegExp("pattern", "flags"); ``` -...And the short one, using slashes `"/"`: +...Et la syntaxe courte, en utilisant des slash `"/"`: ```js regexp = /pattern/; // no flags From 92c8c3a13b0241d3c70e140ecf9d9c6d21c35c1c Mon Sep 17 00:00:00 2001 From: gabrieltchekemian <50210693+gabrieltchekemian@users.noreply.github.com> Date: Thu, 27 Jun 2019 10:39:42 -0400 Subject: [PATCH 2/2] "Regular expressions : Patterns and Flags" MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Traduction de l'article en français --- .../01-regexp-introduction/article.md | 76 +++++++++---------- 1 file changed, 38 insertions(+), 38 deletions(-) diff --git a/9-regular-expressions/01-regexp-introduction/article.md b/9-regular-expressions/01-regexp-introduction/article.md index 9fb24e30b..d4b72d622 100644 --- a/9-regular-expressions/01-regexp-introduction/article.md +++ b/9-regular-expressions/01-regexp-introduction/article.md @@ -13,107 +13,107 @@ regexp = new RegExp("pattern", "flags"); ...Et la syntaxe courte, en utilisant des slash `"/"`: ```js -regexp = /pattern/; // no flags -regexp = /pattern/gmi; // with flags g,m and i (to be covered soon) +regexp = /pattern/; // aucun marqueur +regexp = /pattern/gmi; // avec marqueurs g, m, et i (bientôt abordés) ``` -Slashes `"/"` tell JavaScript that we are creating a regular expression. They play the same role as quotes for strings. +Les slash `"/"` indique à JavaScript que l'on crée une expression rationnelle. Il joue le même rôle que les guillemets pour les chaînes de caractères (les "string"). ## Usage -To search inside a string, we can use method [search](mdn:js/String/search). +Pour rechercher dans une chaîne de caractères, on oeut utiliser la méthode [search](mdn:js/String/search). -Here's an example: +Un exemple : ```js run -let str = "I love JavaScript!"; // will search here +let str = "I love JavaScript!"; // on va rechercher ici let regexp = /love/; alert( str.search(regexp) ); // 2 ``` -The `str.search` method looks for the pattern `pattern:/love/` and returns the position inside the string. As we might guess, `pattern:/love/` is the simplest possible pattern. What it does is a simple substring search. +La méthode `str.search` cherche le modèle `pattern:/love/` et renvoie la position à l'intérieur de la chaîne de caractères. Comme on peut l'imaginer, `pattern:/love/` est le modèle le plus simple qui soit. Il ne fait que de la simple recherche de sous-chaîne. -The code above is the same as: +Le code au-dessus fait la m^me chose que celui-ci: ```js run -let str = "I love JavaScript!"; // will search here +let str = "I love JavaScript!"; // on va rechercher ici let substr = 'love'; alert( str.search(substr) ); // 2 ``` -So searching for `pattern:/love/` is the same as searching for `"love"`. +Ainsi, chercher le modèle `pattern:/love/` revient à chercher la chaîne `"love"`. -But that's only for now. Soon we'll create more complex regular expressions with much more searching power. +Mais ce n'est que le début. Bientôt nous créerons des expressions rationnelles plus complexes avec de bien plus grandes possibilités de recherche. -```smart header="Colors" -From here on the color scheme is: +```smart header="Couleurs" +À partir de maintenant le code couleur sera : - regexp -- `pattern:red` -- string (where we search) -- `subject:blue` -- result -- `match:green` +- chaîne de caractère (là où l'on recherchera) -- `subject:blue` +- résultat -- `match:green` ``` -````smart header="When to use `new RegExp`?" -Normally we use the short syntax `/.../`. But it does not support variable insertions `${...}`. +````smart header="Quand utiliser `new RegExp`?" +Normalement on utilise la syntaxe courte `/.../`. Mais l'insertion de variables`${...}` n'est pas supportée. -On the other hand, `new RegExp` allows to construct a pattern dynamically from a string, so it's more flexible. +D'un autre côté, `new RegExp` nous permet de construire un modèle dynamiquement à partir d'une chaîne, et il est donc plus flexible. -Here's an example of a dynamically generated regexp: +Voici un exemple d'une expression rationnelle dynamiquement générée: ```js run let tag = prompt("Which tag you want to search?", "h2"); let regexp = new RegExp(`<${tag}>`); -// finds
Note: This service is not intended for secure transactions such as banking, social media, email, or purchasing. Use at your own risk. We assume no liability whatsoever for broken pages.
Alternative Proxies: