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
Pour commencer, le motif paresseux `pattern:\d+?` essaye de prendre aussi peut de chiffre que possible, mais il doit atteindre ensuite un espace, donc il prend `match:123`.
4
+
Pour commencer, le motif paresseux `pattern:\d+?` essaye de prendre aussi peu de chiffres que possible, mais il doit atteindre ensuite un espace, donc il prend `match:123`.
5
5
6
6
Ensuite le second `\d+?` prend seulement un chiffre, parce que ça suffit.
Copy file name to clipboardExpand all lines: 9-regular-expressions/10-regexp-greedy-and-lazy/3-find-html-comments/solution.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
Nous devons trouver le début d'un commentaire `match:<!--`, puis tout jusqu'à la fin de `match:-->`.
2
2
3
-
Une expression régulière possible est `pattern:<!--.*?-->` -- le quantificateur paresseux arrête le point juste avant `match:-->`. Nous avons aussi besoin du marqueur `pattern:s` pour que le point incluse les nouvelles lignes.
3
+
Une expression régulière possible est `pattern:<!--.*?-->` -- le quantificateur paresseux arrête le point juste avant `match:-->`. Nous avons aussi besoin du marqueur `pattern:s` pour que le point inclue les nouvelles lignes.
4
4
5
5
Les commentaires multi-lignes ne seraient pas trouvés sans ce marqueur :
Copy file name to clipboardExpand all lines: 9-regular-expressions/10-regexp-greedy-and-lazy/article.md
+7-7Lines changed: 7 additions & 7 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -1,20 +1,20 @@
1
1
# Quantificateurs gloutons ou paresseux
2
2
3
-
Les quantificateurs, à première vue, très simples, peuvent parfois être retors.
3
+
Les quantificateurs, à première vue très simples, peuvent parfois être retors.
4
4
5
5
Pour réussir à trouver des motifs plus complexes que `pattern:/\d+/`, nous devons voir plus en détail comment se déroule une recherche.
6
6
7
7
Prenons comme exemple la tâche suivante.
8
8
9
9
Nous avons un texte dans lequel nous devons remplacer tous les guillemets droits (doubles) `"..."` par des guillemets français : `«...»`, souvent préférés comme typographie dans de nombreux pays.
10
10
11
-
Par exemple : `"Hello, world"` devrait se transformer en `«Hello, world»`. Il existe d'autre guillemets, comme `„Witam, świat!”` (polonais) ou `「你好,世界」` (chinois), mais pour notre exemple choisissons `«...»`.
11
+
Par exemple : `"Hello, world"` devrait se transformer en `«Hello, world»`. Il existe aussi d'autres guillemets, comme `„Witam, świat!”` (polonais) ou `「你好,世界」` (chinois), mais pour notre exemple choisissons `«...»`.
12
12
13
13
La première chose à faire est de trouver ces guillemets droits, et nous pourrons ensuite les remplacer.
14
14
15
-
Une expression régulière comme `pattern:/".+"/g` (des guillemets, puis quelque chose, puis d'autres guillemets) semble être une bonne approche, mais pas exactement !
15
+
Une expression régulière comme `pattern:/".+"/g` (des guillemets, puis quelque chose, puis d'autres guillemets) semble être une bonne approche...
16
16
17
-
Testons cela :
17
+
Pas exactement, voyons cela :
18
18
19
19
```js run
20
20
let regexp =/".+"/g;
@@ -24,11 +24,11 @@ let str = 'a "witch" and her "broom" is one';
24
24
alert( str.match(regexp) ); // "witch" and her "broom"
25
25
```
26
26
27
-
... Nous pouvons voir que ça ne marche pas exactement comme prévu !
27
+
... Nous pouvons voir que cela ne marche pas vraiment comme prévu !
28
28
29
29
Au lieu de trouver deux correspondances `match:"witch"` et `match:"broom"`, il n'en trouve qu'une : `match:"witch" and her "broom"`.
30
30
31
-
Ce qui peut être vu comme "La gourmandise est un défaut qui cause beaucoup de torts à ceux qui s’y livrent".
31
+
Voyons cela comme "La gourmandise est un défaut qui cause beaucoup de torts à ceux qui s’y livrent".
Les moteurs d'expression régulière récents arrive à optimiser leurs algorithmes internes. Ils fonctionnent donc un peu différemment.
165
165
166
-
Mais pour comprendre comment fonctionnent les expression régulières et pour en contruire, nous n'avons pas besoin d'en savoir plus. Ils sont seulement utilisé en interne pour optimiser les choses.
166
+
Mais pour comprendre comment fonctionnent les expression régulières et pour en construire, nous n'avons pas besoin d'en savoir plus. Ils sont seulement utilisés en interne pour optimiser les choses.
167
167
168
168
Comme les expressions régulières complexes sont difficiles à optimiser, la recherche peut se dérouler exactement comme nous l'avons décri.
0 commit comments