From 18df4fc2e9404444d0d9aab47d81797cb7001e8c Mon Sep 17 00:00:00 2001 From: peruibeloko Date: Wed, 17 Jan 2024 00:23:02 -0300 Subject: [PATCH 1/5] finish translation --- .../05-regexp-multiline-mode/article.md | 48 +++++++++---------- 1 file changed, 22 insertions(+), 26 deletions(-) diff --git a/9-regular-expressions/05-regexp-multiline-mode/article.md b/9-regular-expressions/05-regexp-multiline-mode/article.md index 82f4d781d..331a023b4 100644 --- a/9-regular-expressions/05-regexp-multiline-mode/article.md +++ b/9-regular-expressions/05-regexp-multiline-mode/article.md @@ -1,14 +1,14 @@ -# Multiline mode of anchors ^ $, flag "m" +# Modo multilinha das âncoras ^ e $, flag "m" -The multiline mode is enabled by the flag `pattern:m`. +O modo multilinha é ativado pela flag `pattern:m`. -It only affects the behavior of `pattern:^` and `pattern:$`. +Ela afeta apenas o comportamento do `pattern:^` e `pattern:$`. -In the multiline mode they match not only at the beginning and the end of the string, but also at start/end of line. +No modo multilinha, eles não casam somente o começo e o fim de uma string, mas também o começo e o fim de linhas. -## Searching at line start ^ +## Busca no início da linha ^ -In the example below the text has multiple lines. The pattern `pattern:/^\d/gm` takes a digit from the beginning of each line: +O exemplo abaixo tem várias linhas. O padrão `pattern:/^\d/gm` casa um carácter no começo de cada linha: ```js run let str = `1st place: Winnie @@ -20,7 +20,7 @@ console.log( str.match(/^\d/gm) ); // 1, 2, 3 */!* ``` -Without the flag `pattern:m` only the first digit is matched: +Sem a flag `pattern:m` somente o primeiro dígito será casado: ```js run let str = `1st place: Winnie @@ -32,19 +32,17 @@ console.log( str.match(/^\d/g) ); // 1 */!* ``` -That's because by default a caret `pattern:^` only matches at the beginning of the text, and in the multiline mode -- at the start of any line. +Isso acontece porque por padrão, o acento circunflexo `pattern:^` casa apenas com o começo da string -- e no modo multilinha no começo de cada linha. ```smart -"Start of a line" formally means "immediately after a line break": the test `pattern:^` in multiline mode matches at all positions preceded by a newline character `\n`. - -And at the text start. +Formalmente, "começo de linha" quer dizer "imediatamente após uma quebra de linha": o teste `pattern:^` no modo multilinha casa todas as posições precedidas por um carácter de nova linha `\n`, bem como o início da string como um todo. ``` -## Searching at line end $ +## Busca no fim da linha $ -The dollar sign `pattern:$` behaves similarly. +O cifrão `pattern:$` se comporta de maneira similar. -The regular expression `pattern:\d$` finds the last digit in every line +A expressão regular `pattern:\d$` casa com o último dígito de cada linha ```js run let str = `Winnie: 1 @@ -54,21 +52,19 @@ Eeyore: 3`; console.log( str.match(/\d$/gm) ); // 1,2,3 ``` -Without the flag `pattern:m`, the dollar `pattern:$` would only match the end of the whole text, so only the very last digit would be found. +Sem a flag `pattern:m`, o cifrão `pattern:$` casaria apenas com o fim da string inteira, então apenas o último dígito seria encontrado. ```smart -"End of a line" formally means "immediately before a line break": the test `pattern:$` in multiline mode matches at all positions succeeded by a newline character `\n`. - -And at the text end. +Formalmente, "fim de linha" quer dizer "imediatamente antes de uma quebra de linha": o teste `pattern:$` no modo multilinha casa todas as posições sucedidas por um caracter de nova linha `\n`, bem como o fim da string como um todo. ``` -## Searching for \n instead of ^ $ +## Busca por \n ao invés de ^ e $ -To find a newline, we can use not only anchors `pattern:^` and `pattern:$`, but also the newline character `\n`. +Para encontrar uma quebra de linha podemos usar além das âncoras `pattern:^` e `pattern:$` o carácter `\n`. -What's the difference? Let's see an example. +Qual a diferença? Vejamos um exemplo. -Here we search for `pattern:\d\n` instead of `pattern:\d$`: +Aqui estamos buscando por `pattern:\d\n` ao invés de `pattern:\d$`: ```js run let str = `Winnie: 1 @@ -78,10 +74,10 @@ Eeyore: 3`; console.log( str.match(/\d\n/g) ); // 1\n,2\n ``` -As we can see, there are 2 matches instead of 3. +Como podemos ver, temos dois casamentos ao invés de 3 -That's because there's no newline after `subject:3` (there's text end though, so it matches `pattern:$`). +Isso ocorre porque não há uma quebra de linha após o `subject:3` (Mas temos o fim da string, então ele casa com o `pattern:$`) -Another difference: now every match includes a newline character `match:\n`. Unlike the anchors `pattern:^` `pattern:$`, that only test the condition (start/end of a line), `\n` is a character, so it becomes a part of the result. +Outra diferença: Agora cada correspondência inclui um carácter de nova linha `match:\n`. Diferentemente das âncoras `pattern:^` e `pattern:$`, que testam apenas a condição (início ou fim de uma linha), `\n` é um carácter, então ele se torna parte do resultado. -So, a `\n` in the pattern is used when we need newline characters in the result, while anchors are used to find something at the beginning/end of a line. +Dessa forma, usamos o `\n` no padrão quando precisamos de caracteres de nova linha no resultado, e usamos âncoras quando precisamos buscar algo no começo ou final de uma linha. From 1d5ddb433ad07b739b78c0f3a86da0febf94842b Mon Sep 17 00:00:00 2001 From: peruibeloko Date: Sat, 20 Jan 2024 19:45:08 -0300 Subject: [PATCH 2/5] fix: use pt-BR translation of character --- 9-regular-expressions/05-regexp-multiline-mode/article.md | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/9-regular-expressions/05-regexp-multiline-mode/article.md b/9-regular-expressions/05-regexp-multiline-mode/article.md index 331a023b4..50739232f 100644 --- a/9-regular-expressions/05-regexp-multiline-mode/article.md +++ b/9-regular-expressions/05-regexp-multiline-mode/article.md @@ -8,7 +8,7 @@ No modo multilinha, eles não casam somente o começo e o fim de uma string, mas ## Busca no início da linha ^ -O exemplo abaixo tem várias linhas. O padrão `pattern:/^\d/gm` casa um carácter no começo de cada linha: +O exemplo abaixo tem várias linhas. O padrão `pattern:/^\d/gm` casa um caractere no começo de cada linha: ```js run let str = `1st place: Winnie @@ -35,7 +35,7 @@ console.log( str.match(/^\d/g) ); // 1 Isso acontece porque por padrão, o acento circunflexo `pattern:^` casa apenas com o começo da string -- e no modo multilinha no começo de cada linha. ```smart -Formalmente, "começo de linha" quer dizer "imediatamente após uma quebra de linha": o teste `pattern:^` no modo multilinha casa todas as posições precedidas por um carácter de nova linha `\n`, bem como o início da string como um todo. +Formalmente, "começo de linha" quer dizer "imediatamente após uma quebra de linha": o teste `pattern:^` no modo multilinha casa todas as posições precedidas por um caractere de nova linha `\n`, bem como o início da string como um todo. ``` ## Busca no fim da linha $ @@ -60,7 +60,7 @@ Formalmente, "fim de linha" quer dizer "imediatamente antes de uma quebra de lin ## Busca por \n ao invés de ^ e $ -Para encontrar uma quebra de linha podemos usar além das âncoras `pattern:^` e `pattern:$` o carácter `\n`. +Para encontrar uma quebra de linha podemos usar além das âncoras `pattern:^` e `pattern:$` o caractere `\n`. Qual a diferença? Vejamos um exemplo. @@ -78,6 +78,6 @@ Como podemos ver, temos dois casamentos ao invés de 3 Isso ocorre porque não há uma quebra de linha após o `subject:3` (Mas temos o fim da string, então ele casa com o `pattern:$`) -Outra diferença: Agora cada correspondência inclui um carácter de nova linha `match:\n`. Diferentemente das âncoras `pattern:^` e `pattern:$`, que testam apenas a condição (início ou fim de uma linha), `\n` é um carácter, então ele se torna parte do resultado. +Outra diferença: Agora cada correspondência inclui um caractere de nova linha `match:\n`. Diferentemente das âncoras `pattern:^` e `pattern:$`, que testam apenas a condição (início ou fim de uma linha), `\n` é um caractere, então ele se torna parte do resultado. Dessa forma, usamos o `\n` no padrão quando precisamos de caracteres de nova linha no resultado, e usamos âncoras quando precisamos buscar algo no começo ou final de uma linha. From 5eead1fce362b2527f8f0c519ef34a1974f865ea Mon Sep 17 00:00:00 2001 From: peruibeloko Date: Sun, 28 Jan 2024 12:21:18 -0300 Subject: [PATCH 3/5] reflect changes in other articles --- .../05-regexp-multiline-mode/article.md | 20 +++++++++---------- 1 file changed, 10 insertions(+), 10 deletions(-) diff --git a/9-regular-expressions/05-regexp-multiline-mode/article.md b/9-regular-expressions/05-regexp-multiline-mode/article.md index 50739232f..37059bc36 100644 --- a/9-regular-expressions/05-regexp-multiline-mode/article.md +++ b/9-regular-expressions/05-regexp-multiline-mode/article.md @@ -4,11 +4,11 @@ O modo multilinha é ativado pela flag `pattern:m`. Ela afeta apenas o comportamento do `pattern:^` e `pattern:$`. -No modo multilinha, eles não casam somente o começo e o fim de uma string, mas também o começo e o fim de linhas. +No modo multilinha, eles não correspondem somente ao começo e o fim de uma string, mas também ao começo e o fim de linhas. ## Busca no início da linha ^ -O exemplo abaixo tem várias linhas. O padrão `pattern:/^\d/gm` casa um caractere no começo de cada linha: +O exemplo abaixo tem várias linhas. O padrão `pattern:/^\d/gm` corresponde a um caractere no começo de cada linha: ```js run let str = `1st place: Winnie @@ -20,7 +20,7 @@ console.log( str.match(/^\d/gm) ); // 1, 2, 3 */!* ``` -Sem a flag `pattern:m` somente o primeiro dígito será casado: +Sem a flag `pattern:m` somente o primeiro dígito será encontrado: ```js run let str = `1st place: Winnie @@ -32,17 +32,17 @@ console.log( str.match(/^\d/g) ); // 1 */!* ``` -Isso acontece porque por padrão, o acento circunflexo `pattern:^` casa apenas com o começo da string -- e no modo multilinha no começo de cada linha. +Isso acontece porque por padrão, o acento circunflexo `pattern:^` corresponde apenas com o começo da string -- e no modo multilinha no começo de cada linha. ```smart -Formalmente, "começo de linha" quer dizer "imediatamente após uma quebra de linha": o teste `pattern:^` no modo multilinha casa todas as posições precedidas por um caractere de nova linha `\n`, bem como o início da string como um todo. +Formalmente, "começo de linha" quer dizer "imediatamente após uma quebra de linha": o teste `pattern:^` no modo multilinha corresponde a todas as posições precedidas por um caractere de nova linha `\n`, bem como o início da string como um todo. ``` ## Busca no fim da linha $ O cifrão `pattern:$` se comporta de maneira similar. -A expressão regular `pattern:\d$` casa com o último dígito de cada linha +A expressão regular `pattern:\d$` corresponde ao último dígito de cada linha ```js run let str = `Winnie: 1 @@ -52,10 +52,10 @@ Eeyore: 3`; console.log( str.match(/\d$/gm) ); // 1,2,3 ``` -Sem a flag `pattern:m`, o cifrão `pattern:$` casaria apenas com o fim da string inteira, então apenas o último dígito seria encontrado. +Sem a flag `pattern:m`, o cifrão `pattern:$` corresponde apenas ao fim da string inteira, então apenas o último dígito seria encontrado. ```smart -Formalmente, "fim de linha" quer dizer "imediatamente antes de uma quebra de linha": o teste `pattern:$` no modo multilinha casa todas as posições sucedidas por um caracter de nova linha `\n`, bem como o fim da string como um todo. +Formalmente, "fim de linha" quer dizer "imediatamente antes de uma quebra de linha": o teste `pattern:$` no modo multilinha corresponde a todas as posições sucedidas por um caractere de nova linha `\n`, bem como o fim da string como um todo. ``` ## Busca por \n ao invés de ^ e $ @@ -74,9 +74,9 @@ Eeyore: 3`; console.log( str.match(/\d\n/g) ); // 1\n,2\n ``` -Como podemos ver, temos dois casamentos ao invés de 3 +Como podemos ver, temos duas correspondências ao invés de 3 -Isso ocorre porque não há uma quebra de linha após o `subject:3` (Mas temos o fim da string, então ele casa com o `pattern:$`) +Isso ocorre porque não há uma quebra de linha após o `subject:3` (Mas temos o fim da string, então ele corresponde com o `pattern:$`) Outra diferença: Agora cada correspondência inclui um caractere de nova linha `match:\n`. Diferentemente das âncoras `pattern:^` e `pattern:$`, que testam apenas a condição (início ou fim de uma linha), `\n` é um caractere, então ele se torna parte do resultado. From d7f357c37554eef4fe90193f7cdedd8606e1425c Mon Sep 17 00:00:00 2001 From: peruibeloko Date: Mon, 5 Feb 2024 19:17:28 -0300 Subject: [PATCH 4/5] =?UTF-8?q?change=20flag=20to=20op=C3=A7=C3=A3o?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- 9-regular-expressions/05-regexp-multiline-mode/article.md | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/9-regular-expressions/05-regexp-multiline-mode/article.md b/9-regular-expressions/05-regexp-multiline-mode/article.md index 37059bc36..5c29637c6 100644 --- a/9-regular-expressions/05-regexp-multiline-mode/article.md +++ b/9-regular-expressions/05-regexp-multiline-mode/article.md @@ -1,6 +1,6 @@ -# Modo multilinha das âncoras ^ e $, flag "m" +# Modo multilinha das âncoras ^ e $, opção "m" -O modo multilinha é ativado pela flag `pattern:m`. +O modo multilinha é ativado pela opção `pattern:m`. Ela afeta apenas o comportamento do `pattern:^` e `pattern:$`. @@ -20,7 +20,7 @@ console.log( str.match(/^\d/gm) ); // 1, 2, 3 */!* ``` -Sem a flag `pattern:m` somente o primeiro dígito será encontrado: +Sem a opção `pattern:m` somente o primeiro dígito será encontrado: ```js run let str = `1st place: Winnie @@ -52,7 +52,7 @@ Eeyore: 3`; console.log( str.match(/\d$/gm) ); // 1,2,3 ``` -Sem a flag `pattern:m`, o cifrão `pattern:$` corresponde apenas ao fim da string inteira, então apenas o último dígito seria encontrado. +Sem a opção `pattern:m`, o cifrão `pattern:$` corresponde apenas ao fim da string inteira, então apenas o último dígito seria encontrado. ```smart Formalmente, "fim de linha" quer dizer "imediatamente antes de uma quebra de linha": o teste `pattern:$` no modo multilinha corresponde a todas as posições sucedidas por um caractere de nova linha `\n`, bem como o fim da string como um todo. From 2bdd273d5f9a883ff2dd91620a142f7ba77ed413 Mon Sep 17 00:00:00 2001 From: peruibeloko Date: Mon, 10 Jun 2024 15:25:18 -0300 Subject: [PATCH 5/5] phrasing change --- 9-regular-expressions/05-regexp-multiline-mode/article.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/9-regular-expressions/05-regexp-multiline-mode/article.md b/9-regular-expressions/05-regexp-multiline-mode/article.md index 5c29637c6..a978dbf01 100644 --- a/9-regular-expressions/05-regexp-multiline-mode/article.md +++ b/9-regular-expressions/05-regexp-multiline-mode/article.md @@ -60,7 +60,7 @@ Formalmente, "fim de linha" quer dizer "imediatamente antes de uma quebra de lin ## Busca por \n ao invés de ^ e $ -Para encontrar uma quebra de linha podemos usar além das âncoras `pattern:^` e `pattern:$` o caractere `\n`. +Para encontrar uma quebra de linha, podemos usar não apenas as âncoras `pattern:^` e `pattern:$`, mas também o caractere de nova linha `\n`. Qual a diferença? Vejamos um exemplo.