Skip to content

Commit e93c4c9

Browse files
committed
Update 9-regular-expressions\13-regexp-alternation
1 parent 0593d81 commit e93c4c9

File tree

4 files changed

+28
-28
lines changed

4 files changed

+28
-28
lines changed

9-regular-expressions/13-regexp-alternation/03-match-quoted-string/solution.md

Lines changed: 7 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -1,13 +1,13 @@
1-
The solution: `pattern:/"(\\.|[^"\\])*"/g`.
1+
La soluzione: `pattern:/"(\\.|[^"\\])*"/g`.
22

3-
Step by step:
3+
Passo dopo passo:
44

5-
- First we look for an opening quote `pattern:"`
6-
- Then if we have a backslash `pattern:\\` (we have to double it in the pattern because it is a special character), then any character is fine after it (a dot).
7-
- Otherwise we take any character except a quote (that would mean the end of the string) and a backslash (to prevent lonely backslashes, the backslash is only used with some other symbol after it): `pattern:[^"\\]`
8-
- ...And so on till the closing quote.
5+
- Innanzitutto cerchiamo un doppio apice di apertura `pattern:"`
6+
- Quindi se abbiamo un backslash `pattern:\\` (dobbiamo raddoppiarlo nel pattern perché è un carattere speciale), qualsiasi carattere dopo di esso è consentito (il punto).
7+
- Altrimenti consideriamo ogni carattere eccetto un doppio apice (che significherebbe la fine della stringa) ed un backslash (per evitare backslashe isolati, il backslash è usato soltanto in congiunzione con altri simboli dopo di esso): `pattern:[^"\\]`
8+
- ...e così via fino al doppio apice di chiusura.
99

10-
In action:
10+
In azione:
1111

1212
```js run
1313
let regexp = /"(\\.|[^"\\])*"/g;
Lines changed: 12 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -1,32 +1,32 @@
1-
# Find quoted strings
1+
# Trovate le stringhe tra doppi apici
22

3-
Create a regexp to find strings in double quotes `subject:"..."`.
3+
Create una regexp per trovare le stringhe tra doppi apici `subject:"..."`.
44

5-
The strings should support escaping, the same way as JavaScript strings do. For instance, quotes can be inserted as `subject:\"` a newline as `subject:\n`, and the slash itself as `subject:\\`.
5+
Le stringhe dovrebbero supportare l'escape allo stesso modo delle stringhe JavaScript. Per esempio, i doppi apici possono essere inseriti come `subject:\"` una nuova linea come `subject:\n`, e lo stesso slash come `subject:\\`.
66

77
```js
88
let str = "Just like \"here\".";
99
```
1010

11-
Please note, in particular, that an escaped quote `subject:\"` does not end a string.
11+
Si noti che, in particolare, un doppio apice con escape `subject:\"` non termina una stringa.
1212

13-
So we should search from one quote to the other ignoring escaped quotes on the way.
13+
Noi dovremmo cercare, pertanto, da un doppio apice fino all'altro ignorando quelli con escape tra i due.
1414

15-
That's the essential part of the task, otherwise it would be trivial.
15+
Questo è la parte fondamentale dell'esercitazione, altrimenti diventerebbe banale.
1616

17-
Examples of strings to match:
17+
Ecco degli esempi di stringhe che corrispondono:
1818
```js
1919
.. *!*"test me"*/!* ..
20-
.. *!*"Say \"Hello\"!"*/!* ... (escaped quotes inside)
21-
.. *!*"\\"*/!* .. (double slash inside)
22-
.. *!*"\\ \""*/!* .. (double slash and an escaped quote inside)
20+
.. *!*"Say \"Hello\"!"*/!* ... (contiene doppi apici con escape)
21+
.. *!*"\\"*/!* .. (contiene un doppio slash)
22+
.. *!*"\\ \""*/!* .. (contiene un doppio slash e un doppio apice con escape)
2323
```
2424

25-
In JavaScript we need to double the slashes to pass them right into the string, like this:
25+
In JavaScript abbiamo bisogno di raddoppiare lo slash per passarli correttamente all'interno della stringa, in questo modo:
2626

2727
```js run
2828
let str = ' .. "test me" .. "Say \\"Hello\\"!" .. "\\\\ \\"" .. ';
2929

30-
// the in-memory string
30+
// la stringa in memoria
3131
alert(str); // .. "test me" .. "Say \"Hello\"!" .. "\\ \"" ..
3232
```

9-regular-expressions/13-regexp-alternation/04-match-exact-tag/solution.md

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

2-
The pattern start is obvious: `pattern:<style`.
2+
L'inizio del pattern è ovvio: `pattern:<style`.
33

4-
...But then we can't simply write `pattern:<style.*?>`, because `match:<styler>` would match it.
4+
Ma successivamente non possiamo semplicemente scrivere `pattern:<style.*?>`, poiché altrimenti `match:<styler>` troverebbe corrispondenza.
55

6-
We need either a space after `match:<style` and then optionally something else or the ending `match:>`.
6+
Abbiamo bisogno di uno spazio dopo `match:<style` e dopo facoltativamente qualcos'altro o la `match:>` finale.
77

8-
In the regexp language: `pattern:<style(>|\s.*?>)`.
8+
Tradotto nel linguaggio delle regexp: `pattern:<style(>|\s.*?>)`.
99

10-
In action:
10+
In azione:
1111

1212
```js run
1313
let regexp = /<style(>|\s.*?>)/g;

9-regular-expressions/13-regexp-alternation/04-match-exact-tag/task.md

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,10 +1,10 @@
1-
# Find the full tag
1+
# Trovate l'intero tag
22

3-
Write a regexp to find the tag `<style...>`. It should match the full tag: it may have no attributes `<style>` or have several of them `<style type="..." id="...">`.
3+
Scrivete una regexp per trovare il tag `<style...>`. Essa dovrebbe trovare corrispondenza con l'intero tag: esso potrebbe non avere alcun attributo `<style>` o averne diversi `<style type="..." id="...">`.
44

5-
...But the regexp should not match `<styler>`!
5+
La regexp, tuttavia, non dobrebbe accettare `<styler>`!
66

7-
For instance:
7+
Per esempio:
88

99
```js
1010
let regexp = /your regexp/g;

0 commit comments

Comments
 (0)