Skip to content

Commit ca7a248

Browse files
committed
Update "Character classes" translation (2)
1 parent a8cef19 commit ca7a248

File tree

1 file changed

+18
-18
lines changed
  • 9-regular-expressions/02-regexp-character-classes

1 file changed

+18
-18
lines changed

9-regular-expressions/02-regexp-character-classes/article.md

+18-18
Original file line numberDiff line numberDiff line change
@@ -102,7 +102,7 @@ alert( str.replace(/\D/g, "") ); // 79031234567
102102

103103
## Um ponto é "qualquer caractere"
104104

105-
Um ponto `padrão:.` é uma classe de caractere especial que corresponde a "qualquer caractere, exceto uma nova linha".
105+
Um ponto `padrão:.` é uma classe de caracteres especial que corresponde a "qualquer caractere, exceto uma nova linha".
106106

107107
Por exemplo:
108108

@@ -138,27 +138,27 @@ alert( "A\nB".match(/A.B/) ); // null (sem correspondência)
138138

139139
Há muitas situações em que gostaríamos que um ponto significasse literalmente "qualquer caractere", incluindo a nova linha.
140140

141-
É o que flag `padrão:s` faz. Se uma regexp possui, então um ponto `padrão:.` corresponde literalmente a qualquer caractere:
141+
É o que a flag `padrão:s` faz. Se uma regexp a possui, então um ponto `padrão:.` corresponde literalmente a qualquer caractere:
142142

143143
```js run
144144
alert( "A\nB".match(/A.B/s) ); // A\nB (correspondência!)
145145
```
146146

147-
````warn header="Não suportado no Firefox, IE, Edge"
148-
Verifique <https://caniuse.com/#search=dotall> para obter o estado de suporte mais recente. No momento da redação deste documento, não inclui o Firefox, IE, Edge.
147+
````warn header="Não suportado no IE"
148+
A flag `padrão:s` não tem suporte no IE.
149149
150-
Felizmente, há uma alternativa, que funciona em qualquer lugar. Podemos usar uma regexp como `padrão:[\s\S]` para corresponder a "qualquer caractere".
150+
Felizmente, há uma alternativa, que funciona em qualquer lugar. Podemos usar uma regexp como `padrão:[\s\S]` para corresponder a "qualquer caractere" (este padrão irá ser estudado no artigo <info:regexp-character-sets-and-ranges>).
151151
152152
```js run
153-
alert( "A\nB".match(/A[\s\S]B/) ); // A\nB (match!)
153+
alert( "A\nB".match(/A[\s\S]B/) ); // A\nB (correspondência!)
154154
```
155155
156-
O padrão `padrão:[\s\S]` diz literalmente: "um caractere de espaço OU não um caractere de espaço". Em outras palavras, "qualquer coisa". Poderíamos usar outro par de classes complementares, como `padrão:[\d\D]`, que não importa. Ou mesmo o padrão `padrão:[^]` - pois significa corresponder a qualquer caractere, exceto nada.
156+
O padrão `padrão:[\s\S]` diz literalmente: "um caractere de espaço OU não um caractere de espaço". Em outras palavras, "qualquer coisa". Poderíamos usar outro par de classes complementares, como `padrão:[\d\D]`, que não importa. Ou mesmo o padrão `padrão:[^]` -- pois significa corresponder a qualquer caractere, exceto nada.
157157
158158
Também podemos usar esse truque se quisermos os dois tipos de "pontos" no mesmo padrão: o ponto real `padrão:.` comportando-se da maneira regular ("não incluindo uma nova linha") e também uma maneira de combinar "qualquer caractere" com `padrão:[\s\S]` ou similar.
159159
````
160160

161-
````warn header="Preste atenção nos espaços"
161+
````warn header="Preste atenção aos espaços"
162162
Geralmente prestamos pouca atenção aos espaços. Para nós, as strings `sujeito:1-5` e `sujeito:1 - 5` são quase idênticas.
163163
164164
Mas se uma regexp não leva em consideração os espaços, ela pode falhar.
@@ -169,7 +169,7 @@ Vamos tentar encontrar dígitos separados por um hífen:
169169
alert( "1 - 5".match(/\d-\d/) ); // null, sem correspondência!
170170
```
171171
172-
Vamos corrigi-lo adicionando espaços ao padrão regexp `padrão:\d - \d`:
172+
Vamos corrigi-lo adicionando espaços à regexp `padrão:\d - \d`:
173173
174174
```js run
175175
alert( "1 - 5".match(/\d - \d/) ); // 1 - 5, agora funciona
@@ -179,7 +179,7 @@ alert( "1 - 5".match(/\d\s-\s\d/) ); // 1 - 5, também funciona
179179
180180
**Um espaço é um caractere. Igual em importância a qualquer outro caractere.**
181181
182-
Não podemos adicionar ou remover espaços de uma expressão regular e esperar que funcione da mesma maneira.
182+
Não podemos adicionar ou remover espaços a uma expressão regular e esperar que funcione da mesma maneira.
183183
184184
Em outras palavras, em uma expressão regular, todos os caracteres são importantes, espaços também.
185185
````
@@ -188,16 +188,16 @@ Em outras palavras, em uma expressão regular, todos os caracteres são importan
188188

189189
Existem as seguintes classes de caracteres:
190190

191-
- `padrão:\d` - dígitos.
192-
- `padrão:\D` - não-dígitos.
193-
- `padrão:\s` - símbolos de espaço, tabulações, novas linhas.
194-
- `padrão:\S` - todos, exceto `padrão:\s`.
195-
- `padrão:\w` - Letras latinas, dígitos, sublinhado `'_'`.
196-
- `padrão:\W` - todos, exceto `padrão:\w`.
197-
- `padrão:.` - qualquer caractere se estiver com a flag regexp `'s' `; caso contrário, qualquer um, exceto uma nova linha `\n`.
191+
- `padrão:\d` -- dígitos.
192+
- `padrão:\D` -- não-dígitos.
193+
- `padrão:\s` -- símbolos de espaço, tabulações, novas linhas.
194+
- `padrão:\S` -- todos, exceto `padrão:\s`.
195+
- `padrão:\w` -- Letras latinas, dígitos, sublinhado `'_'`.
196+
- `padrão:\W` -- todos, exceto `padrão:\w`.
197+
- `padrão:.` -- qualquer caractere se estiver com a flag regexp `'s' `; caso contrário, qualquer um, exceto uma nova linha `\n`.
198198

199199
...Mas isso não é tudo!
200200

201-
A codificação unicode, usada pelo JavaScript para strings, fornece muitas propriedades para caracteres, como: a qual idioma a letra pertence (se for uma letra), é um sinal de pontuação etc.
201+
A codificação Unicode, usada pelo JavaScript para strings, fornece muitas propriedades para caracteres, como: a qual idioma a letra pertence (se for uma letra), é um sinal de pontuação, etc.
202202

203203
Também podemos pesquisar por essas propriedades. Isso requer a flag `padrão:u`, abordada no próximo artigo.

0 commit comments

Comments
 (0)