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/03-regexp-unicode/article.md
+13-13Lines changed: 13 additions & 13 deletions
Original file line number
Diff line number
Diff line change
@@ -4,15 +4,15 @@ O JavaScript usa a [codificação Unicode](https://pt.wikipedia.org/wiki/Unicode
4
4
5
5
Esse alcance não é grande o bastante para codificar todos os caracteres possíveis, por isso alguns caracteres são codificados com 4 bytes, como o `𝒳` (X matemático) ou o `😄` (emoji sorridente), alguns ideogramas e assim por diante.
6
6
7
-
Aqui estão os valores no Unicode de alguns caracteres:
7
+
Aqui estão os códigos Unicode de alguns caracteres:
8
8
9
-
| Carácter | Unicode |Contagem de bytes no Unicode |
Note que caracteres como `a` e `≈` ocupam 2 bytes, enquanto os códigos para `𝒳`, `𝒴` e `😄` são maiores, e ocupam 4 bytes.
18
18
@@ -21,8 +21,8 @@ Há muito tempo atrás, quando o JavaScript foi criado, a codificação Unicode
21
21
Por exemplo, o método `length` pensa que aqui há dois caracteres:
22
22
23
23
```js run
24
-
alert('😄'.length); // 2
25
-
alert('𝒳'.length); // 2
24
+
alert("😄".length); // 2
25
+
alert("𝒳".length); // 2
26
26
```
27
27
28
28
...Mas nós podemos ver que há apenas um, certo? O ponto é que o método `length` trata 4 bytes como dois caracteres de 2 bytes. Isso está errado, porque eles devem ser somente considerados juntos (os chamados "pares substitutos", você pode ler mais sobre eles no artigo <info:string>).
@@ -44,10 +44,10 @@ Por exemplo, `\p{Letter}` denota uma letra em qualquer língua. Também podemos
44
44
No exemplo abaixo três tipos de letras serão encontrados: Inglês, Georgiano e Coreano.
45
45
46
46
```js run
47
-
let str ='A ბ ㄱ';
47
+
let str ="A ბ ㄱ";
48
48
49
49
alert(str.match(/\p{L}/gu)); // A,ბ,ㄱ
50
-
alert(str.match(/\p{L}/g)); // null (nenhum casamento, \p não funciona sem a flag "u")
50
+
alert(str.match(/\p{L}/g)); // null (nenhuma correspondência, \p não funciona sem a flag "u")
51
51
```
52
52
53
53
Estas são as principais categorias de caracteres e suas sub-categorias:
@@ -114,7 +114,7 @@ Um dígito hexadecimal pode ser indicado por `pattern:\p{Hex_Digit}`:
0 commit comments