You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: 9-regular-expressions/11-regexp-groups/01-test-mac/solution.md
+2-2Lines changed: 2 additions & 2 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -1,10 +1,10 @@
1
-
Un nombre hexadécimal a deux chiffres correspond `pattern:[0-9a-f]{2}` (avec le marqueur `pattern:i`).
1
+
Un nombre hexadécimal à deux chiffres correspond à`pattern:[0-9a-f]{2}` (avec le marqueur `pattern:i`).
2
2
3
3
Nous avons besoin de ce nombre `NN`, et ensuite `:NN` répété 5 fois (pour les autres nombres) ;
4
4
5
5
L'expression régulière est : `pattern:[0-9a-f]{2}(:[0-9a-f]{2}){5}`
6
6
7
-
Montrons maintenant que la correspondance se fait bien sur l'ensemble du texte : commence au début et termine à la fin. Cela se fait en entourant le motif de `pattern:^...$`.
7
+
Montrons maintenant que la correspondance se fait bien sur l'ensemble du texte : commence dès le début de la chaîne testée et termine à la fin. Cela se fait en entourant le motif de `pattern:^...$`.
Copy file name to clipboardExpand all lines: 9-regular-expressions/11-regexp-groups/01-test-mac/task.md
+1-1Lines changed: 1 addition & 1 deletion
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -1,6 +1,6 @@
1
1
# Vérification d'adresse MAC
2
2
3
-
L'[addresse MAC](https://fr.wikipedia.org/wiki/Adresse_MAC) d'une interface réseau est constitué de 6 paires de nombres hexadécimaux séparés par un double point.
3
+
L'[addresse MAC](https://fr.wikipedia.org/wiki/Adresse_MAC) d'une interface réseau est constitué de 6 paires de nombres hexadécimaux séparées par un double point.
Il reste un petit problème ici : car ce schéma trouve `match:#abc` dans `subject:#abcd`. Pour éviter cela nous pouvons y ajouter `pattern:\b` à la fin :
19
+
Il reste un petit problème ici : car ce schéma trouve `match:#abc` dans `subject:#abcd`. Pour éviter cela nous pouvons ajouter à la fin `pattern:\b` :
Copy file name to clipboardExpand all lines: 9-regular-expressions/11-regexp-groups/04-parse-expression/solution.md
+5-5Lines changed: 5 additions & 5 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -2,7 +2,7 @@ Une regexp pour un nombre : `pattern:-?\d+(\.\d+)?`. Nous l'avons vu dans l'exer
2
2
3
3
Pour l'opérateur `pattern:[-+*/]`. Le tiret `pattern:-` est en premier, car il pourrait signifier un intervalle de caractère, alors que nous souhaitons juste le caractère `-`.
4
4
5
-
Le slash `/` doit être échappé en javascript dans une regexp `pattern:/.../`, ce que nous ferons plus tard.
5
+
Le slash `/` doit être échappé en javascript dans une regexp `pattern:/.../`, et nous le ferons plus tard.
6
6
7
7
Nous cherchons un nombre, un opérateur puis un autre nombre. Et d'éventuels espaces entre eux.
8
8
@@ -13,7 +13,7 @@ Il y a trois parties, avec `pattern:\s*` entre elles :
13
13
1.`pattern:[-+*/]` - l'opérateur,
14
14
1.`pattern:-?\d+(\.\d+)?` - le deuxième nombre.
15
15
16
-
Pour rendre chacune des ces parties un élément distinct du tableau de correspondance, entourons-les de parenthèses : `pattern:(-?\d+(\.\d+)?)\s*([-+*/])\s*(-?\d+(\.\d+)?)`.
16
+
Pour faire de chacune de ces parties un élément distinct du tableau de correspondance, entourons-les de parenthèses : `pattern:(-?\d+(\.\d+)?)\s*([-+*/])\s*(-?\d+(\.\d+)?)`.
17
17
18
18
Cela donne :
19
19
@@ -30,11 +30,11 @@ Le résultat inclus :
30
30
-`result[2] == ".2"` (second groupe`(\.\d+)?` -- la première partie décimale)
31
31
-`result[3] == "+"` (troisième groupe `([-+*\/])` -- l'opérateur)
32
32
-`result[4] == "12"` (quatrième groupe `(-?\d+(\.\d+)?)` -- le second nombre)
33
-
-`result[5] == undefined` (cinquième groupe `(\.\d+)?` -- la dernière partie décimale est absente, c'est non défini)
33
+
-`result[5] == undefined` (cinquième groupe `(\.\d+)?` -- la deuxième partie décimale est absente, c'est non défini)
34
34
35
-
Nous ne souhaitons que les nombres et l'opérateur, sans la correspondance entière ni les parties décimales, alors faisons un peu le ménage.
35
+
Nous ne souhaitons que les nombres et l'opérateur, sans la correspondance entière, ni les parties décimales. Faisons alors un peu le ménage.
36
36
37
-
La correspondance complète(le premier élément du tableau) peut être enlevé par `result.shift()`.
37
+
La correspondance complète(le premier élément du tableau) peut être enlevée par `result.shift()`.
38
38
39
39
Les groupes contenant les parties décimales(groupes 2 et 4) `pattern:(.\d+)` peuvent être exclus en ajoutant `pattern:?:` au début : `pattern:(?:\.\d+)?`.
0 commit comments