Skip to content

Commit cc51b29

Browse files
Apply suggestions from code review
Co-authored-by: marcellosurdi <42266628+marcellosurdi@users.noreply.github.com>
1 parent 02e01c4 commit cc51b29

File tree

1 file changed

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

1 file changed

+11
-11
lines changed

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

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

22
# Escaping, caratteri speciali
33

4-
Come abbiamo visto, un backslash `pattern:\` viene utilizzato per indicare classi di caratteri, e.g. `pattern:\d`. Quindi nelle regexps è un carattere speciale (proprio come nelle stringhe).
4+
Come abbiamo visto, un backslash `pattern:\` viene utilizzato per indicare classi di caratteri, e.g. `pattern:\d`. Quindi nelle regexp è un carattere speciale (proprio come nelle stringhe).
55

6-
Esistono anche altri caratteri speciali, che hanno un significato speciale nelle regexp. Vengono utilizzati per ricerche più avanzate. Qui vediamo la lista completa di questi parametri: `pattern:[ \ ^ $ . | ? * + ( )`.
6+
Esistono anche altri caratteri speciali, che hanno un significato speciale nelle regexp. Vengono utilizzati per ricerche più avanzate. Qui vediamo la lista completa: `pattern:[ \ ^ $ . | ? * + ( )`.
77

88
Non provate ad imparare a memoria la lista, presto inizieremo ad utilizzarli e sarete in grado di ricordarli automaticamente.
99

1010
## Escaping
1111

1212
Ipotizziamo di voler trovare un punto (il carattere "."). Non "qualsiasi carattere", semplicemente un punto.
1313

14-
Per poter utilizzare un carattere speciale come se fosse uno normale, è sufficienti farlo precedere da un backslash: `pattern:\.`.
14+
Per poter utilizzare un carattere speciale come se fosse uno normale, è sufficiente farlo precedere da un backslash: `pattern:\.`.
1515

16-
Questo è detto "escaping di un carattere".
16+
Abbiamo appena fatto l'"escaping di un carattere".
1717

1818
Ad esempio:
1919
```js run
2020
alert( "Chapter 5.1".match(/\d\.\d/) ); // 5.1 (trovato!)
21-
alert( "Chapter 511".match(/\d\.\d/) ); // null (cercanod un punto \.)
21+
alert( "Chapter 511".match(/\d\.\d/) ); // null (cercando un punto \.)
2222
```
2323

24-
Anche le parentesi sono dei caratteri speciali, quindi se volessimo utilizzarle, dovremmo utilizzare `pattern:\(`. L'esmpio sotto cerca la stringa `"g()"`:
24+
Anche le parentesi sono dei caratteri speciali, quindi se volessimo utilizzarle, dovremmo utilizzare `pattern:\(`. L'esempio sotto cerca la stringa `"g()"`:
2525

2626
```js run
2727
alert( "function g()".match(/g\(\)/) ); // "g()"
2828
```
2929

30-
Se stiamo cercando un backslash `\`, il quale è un carattere speciale, come nelle stringhe anche nelle regexp dovremmo inserirne due.
30+
Se stiamo cercando un backslash `\`, che è un carattere speciale sia nelle stringhe che nelle regexp, dovremmo inserirne due.
3131

3232
```js run
3333
alert( "1\\2".match(/\\/) ); // '\'
3434
```
3535

36-
## Uno slash
36+
## Lo slash
3737

3838
Il simbolo di slash `'/'` non è un carattere speciale, ma in JavaScript viene utilizzato per aprire e chiudere le regexp: `pattern:/...pattern.../`, quindi dovremo fare l'escape anche di questo carattere.
3939

@@ -79,7 +79,7 @@ Gli apici della stringa "consumano" i backslash e li interpreta come a se stanti
7979

8080
Quindi `new RegExp` ottiene la stringa senza i backslash. Questo è il motivo per cui la ricerca non funziona!
8181

82-
Per sistemarla, dobbiamo inserire i backslash doppi, poiché gli apici della stringa trasformeranno `\\` in `\`:
82+
Per correggerla, dobbiamo inserire i backslash doppi, poiché gli apici della stringa trasformeranno `\\` in `\`:
8383

8484
```js run
8585
*!*
@@ -94,6 +94,6 @@ alert( "Chapter 5.1".match(regexp) ); // 5.1
9494

9595
## Riepilogo
9696

97-
- Per cercare un carattere speciale `pattern:[ \ ^ $ . | ? * + ( )`, dobbiamo farlo precedere da un backslash `\` (farne l'"escape").
97+
- Per cercare un carattere speciale `pattern:[ \ ^ $ . | ? * + ( )`, dobbiamo farlo precedere da un backslash `\` (quindi fare l'"escape").
9898
- Dobbiamo anche fare l'escape di `/` se ci troviamo all'interno di `pattern:/.../` (ma non dovremmo farlo dentro a `new RegExp`).
99-
- Quando passiamo una stringa a `new RegExp`, dobbiamo utilizzare il doppio backslash `\\`, poiché gli apici della stringa ne "consumerà" uno dei due.
99+
- Quando passiamo una stringa a `new RegExp`, dobbiamo utilizzare il doppio backslash `\\`, poiché gli apici della stringa "consumeranno" uno dei due.

0 commit comments

Comments
 (0)