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/08-regexp-character-sets-and-ranges/1-find-range-1/solution.md
+2-2
Original file line number
Diff line number
Diff line change
@@ -1,12 +1,12 @@
1
1
Respostas: **não, sim**.
2
2
3
-
- Não, na string `subject:Java` o padrão não casa com nada. O padrão `pattern:[^script]` significa "qualquer caractere exceto os dados". Dessa forma, a regex procura por `"Java"`, seguido de qualquer caractere (exceto os do conjunto), mas encontra apenas o fim da string.
3
+
- Não, na string `subject:Java` o padrão não retorna nada. O padrão `pattern:[^script]` significa "qualquer caractere exceto os dados". Dessa forma, a regex procura por `"Java"`, seguido de qualquer caractere (exceto os do conjunto), mas encontra apenas o fim da string.
4
4
5
5
```js run
6
6
alert( "Java".match(/Java[^script]/) ); // null
7
7
```
8
8
9
-
- Sim, já que o padrão `pattern:[^script]`casa com o caractere `"S"` que não é nenhum dos caracteres `pattern:script`. Como a regex é sensível a capitalização (*case-sensitive*, sem a flag`pattern:i`), ela trata `"S"` e `"s"` como caracteres diferentes.
9
+
- Sim, já que o padrão `pattern:[^script]`reconhece o caractere `"S"` que não é nenhum dos caracteres `pattern:script`. Como a regex é sensível a capitalização (*case-sensitive*, sem a opção`pattern:i`), ela trata `"S"` e `"s"` como caracteres diferentes.
O padrão `pattern:[0-9A-F]` tem dois alcances: Ele casa com dígitos de `0` a `9` ou uma letra de `A` a `F`.
45
+
O padrão `pattern:[0-9A-F]` tem dois alcances: Ele corresponde com dígitos de `0` a `9` ou uma letra de `A` a `F`.
46
46
47
-
Se quisermos casar com letras minúsculas também, podemos adicionar o alcance `a-f` (`pattern:[0-9A-Fa-f]`), ou adicionar a opção `pattern:i`.
47
+
Se quisermos encontrar letras minúsculas também, podemos adicionar o alcance `a-f` (`pattern:[0-9A-Fa-f]`), ou adicionar a opção `pattern:i`.
48
48
49
49
Também podemos usar classes de caracteres dentro do `[…]`.
50
50
51
-
Se quisermos, por exemplo, casar com um caractere "de palavra" `pattern:\w` ou um hífen `pattern:-`, o conjunto fica `pattern:[\w-]`
51
+
Se quisermos, por exemplo, buscar por um caractere "de palavra" `pattern:\w` ou um hífen `pattern:-`, o conjunto fica `pattern:[\w-]`
52
52
53
53
Também é possível combinar várias classes; o padrão `pattern:[\s\d]`, por exemplo, significa "um caractere de espaço ou um dígito".
54
54
@@ -62,9 +62,9 @@ Por exemplo:
62
62
63
63
### Exemplo: \w multilinguagens
64
64
65
-
Como a classe de caracteres `pattern:\w` é um atalho para `pattern:[a-zA-Z0-9_]`, ele não casa com ideogramas, letras cirílicas, etc.
65
+
Como a classe de caracteres `pattern:\w` é um atalho para `pattern:[a-zA-Z0-9_]`, ele não reconhece ideogramas, letras cirílicas, etc.
66
66
67
-
Nós podemos escrever um padrão mais universal, que casa com caracteres usados em palavras de qualquer língua. Fica fácil usando propriedades Unicode: `pattern:[\p{Alpha}\p{M}\p{Nd}\p{Pc}\p{Join_C}]`.
67
+
Nós podemos escrever um padrão mais universal, que encontra caracteres usados em palavras de qualquer língua. Fica fácil usando propriedades Unicode: `pattern:[\p{Alpha}\p{M}\p{Nd}\p{Pc}\p{Join_C}]`.
68
68
69
69
Vamos decifrar o padrão. Similarmente ao `pattern:\w`, estamos criando nosso próprio conjunto que inclui caracteres com as seguintes propriedades Unicode:
70
70
@@ -97,13 +97,13 @@ Outra opção é utilizar alcances de caracteres da língua relevante, como `pat
97
97
98
98
Além dos alcances normais, existem os alcances negados que usam a sintaxe `pattern:[^…]`.
99
99
100
-
Eles são demarcados pelo acento circunflexo `^` no começo e casam com qualquer caractere *exceto os incluídos no alcance*
100
+
Eles são demarcados pelo acento circunflexo `^` no começo e correspondem a qualquer caractere *exceto os incluídos no alcance*
101
101
102
102
Por exemplo:
103
103
104
-
-`pattern:[^aeyo]` -- casa qualquer caractere exceto `'a'`, `'e'`, `'y'` e `'o'`.
105
-
-`pattern:[^0-9]` -- casa qualquer caractere exceto um dígito, equivalente ao `pattern:\D`.
106
-
-`pattern:[^\s]` -- casa qualquer caractere que não seja um espaço em branco, equivalente ao `\S`.
104
+
-`pattern:[^aeyo]` -- reconhece qualquer caractere exceto `'a'`, `'e'`, `'y'` e `'o'`.
105
+
-`pattern:[^0-9]` -- reconhece qualquer caractere exceto um dígito, equivalente ao `pattern:\D`.
106
+
-`pattern:[^\s]` -- reconhece qualquer caractere que não seja um espaço em branco, equivalente ao `\S`.
107
107
108
108
O exemplo abaixo busca por qualquer caractere que não seja uma letra, um dígito ou um espaço:
Normalmente quando queremos encontrar um caractere especial precisamos escapá-lo com a contrabarra `pattern:\.`. Se precisamos casar com uma contrabarra, escapamos ela também (`pattern:\\`), e assim por diante
116
+
Normalmente quando queremos encontrar um caractere especial precisamos escapá-lo com a contrabarra `pattern:\.`. Se precisamos buscar uma contrabarra, escapamos ela também (`pattern:\\`), e assim por diante
117
117
118
118
Dentro de colchetes podemos usar a grande maioria de caracteres especiais sem nenhum escape:
119
119
@@ -124,15 +124,15 @@ Dentro de colchetes podemos usar a grande maioria de caracteres especiais sem ne
124
124
125
125
Em outras palavras, todos os caracteres especiais podem ser usados sem escapes, exceto nos casos onde eles modificam o comportamento do conjunto em si.
126
126
127
-
O ponto `.` dentro de um conjunto representa um ponto literal. O padrão `pattern:[.,]`casa com um ponto ou uma vírgula.
127
+
O ponto `.` dentro de um conjunto representa um ponto literal. O padrão `pattern:[.,]`reconhece um ponto ou uma vírgula.
128
128
129
-
No exemplo abaixo, a expressão `pattern:[-().^+]`casa com qualquer um dos caracteres `-().^+`:
129
+
No exemplo abaixo, a expressão `pattern:[-().^+]`reconhece qualquer um dos caracteres `-().^+`:
0 commit comments