Skip to content

Commit e794d1b

Browse files
committed
reading more fluid, plural corrections
1 parent 15304f8 commit e794d1b

File tree

1 file changed

+7
-7
lines changed
  • 9-regular-expressions/07-regexp-escaping

1 file changed

+7
-7
lines changed

9-regular-expressions/07-regexp-escaping/article.md

Lines changed: 7 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11

22
# Échappement, caractères spéciaux
33

4-
Comme nous l'avons vu, la barre oblique inversée (ou backslash) `pattern:\` est utilisé pour désigner une classe de caractères, e.g. `pattern:\d`. C'est donc un caractère spécial dans les expressions régulières (comme dans les chaînes de caractères classiques).
4+
Comme nous l'avons vu, la barre oblique inversée (ou backslash) `pattern:\` est utilisée pour désigner une classe de caractères, e.g. `pattern:\d`. C'est donc un caractère spécial dans les expressions régulières (comme dans les chaînes de caractères classiques).
55

66
Il y a d'autres caractères spéciaux, qui ont un sens particulier dans une expression rationnelle. Ils sont utilisés pour effectuer des recherches avancées. En voici la liste complète : `pattern:[ \ ^ $ . | ? * + ( )`.
77

@@ -43,15 +43,15 @@ Voici à quoi ressemble une recherche d'un slash `'/'` :
4343
alert( "/".match(/\//) ); // '/'
4444
```
4545

46-
Par contre si nous n'utilisons pas l'écriture `pattern:/.../`, mais si nous créons l'expression rationnelle avec `new RegExp`, alors nous n'avons plus besoin de l'échapper :
46+
Par contre si nous n'utilisons pas l'écriture `pattern:/.../`, mais créons l'expression rationnelle avec `new RegExp`, alors nous n'avons plus besoin de l'échapper :
4747

4848
```js run
4949
alert( "/".match(new RegExp("/")) ); // trouve /
5050
```
5151

5252
## new RegExp
5353

54-
Si nous construisons une expression rationnelle avec `new RegExp`, alors nous n'avons pas besoin d'échapper les `/`, mais nous avons besoin d'autres échappements.
54+
Si nous construisons une expression rationnelle avec `new RegExp`, nous n'avons pas besoin d'échapper les `/`, mais nous aurons besoin d'autres échappements.
5555

5656
Par exemple, considérons :
5757

@@ -61,9 +61,9 @@ let regexp = new RegExp("\d\.\d");
6161
alert( "Chapter 5.1".match(regexp) ); // null
6262
```
6363

64-
Une recherche pourtant similaire à un exemple précédent, qui fonctionne avec `pattern:/\d\.\d/`, ne fonctionne pas ici avec `new RegExp("\d\.\d")`. Pourquoi ?
64+
C'est une recherche pourtant similaire à un exemple précédent, qui fonctionnait avec `pattern:/\d\.\d/`, mais pas ici avec `new RegExp("\d\.\d")`. Pourquoi ?
6565

66-
Les backslashes sont en fait "consommés" par la chaîne de caractères. On peut se souvenir, que les chaîne de caractères ont leurs propres caractères spéciaux, comme `\n`, et le backslash est utilisé pour l'échappement.
66+
Les backslashes sont en fait "consommés" par la chaîne de caractères. On peut se souvenir, que les chaîne de caractères ont leurs propres caractères spéciaux, comme `\n`, et le backslash est aussi utilisé pour l'échappement.
6767

6868
Voici comment "\d\.\d" est perçu :
6969

@@ -77,9 +77,9 @@ Les guillemets "consomment" les backslashes et les interprètent pour la chaîne
7777
- `\u1234` -- devient le caractère unicode de ce code,
7878
- ... Et lorsqu'il n'y a pas de sens particulier : comme `pattern:\d` ou `\z`, alors le backslash est simplement retiré.
7979

80-
Donc `new RegExp` reçoit une chaîne de caractère sans backslash. C'est pour ça que la recherche ne fonctionnait pas !
80+
Donc `new RegExp` reçoit une chaîne de caractères sans backslash. C'est pour ça que la recherche ne fonctionnait pas !
8181

82-
Pour résoudre ça, nous devons doubler les backslashes, parce que la chaine de caractère transforme les `\\` en `\`:
82+
Pour résoudre ça, nous devons doubler les backslashes, parce que la chaine de caractères transforme les `\\` en `\`:
8383

8484
```js run
8585
*!*

0 commit comments

Comments
 (0)