|
1 |
| -# Word boundary: \b |
| 1 | +# Límite de palabra: \b |
2 | 2 |
|
3 |
| -A word boundary `pattern:\b` is a test, just like `pattern:^` and `pattern:$`. |
| 3 | +Un límite de palabra `pattern:\b` es una prueba, al igual que `pattern:^` y `pattter:$`. |
4 | 4 |
|
5 |
| -When the regexp engine (program module that implements searching for regexps) comes across `pattern:\b`, it checks that the position in the string is a word boundary. |
| 5 | +Cuando el motor regex (módulo de programa que implementa la búsqueda de expresiones regulares) se encuentra con `pattern:\b`, comprueba que la posición en la cadena es un límite de palabra. |
6 | 6 |
|
7 |
| -There are three different positions that qualify as word boundaries: |
| 7 | +Hay tres posiciones diferentes que califican como límites de palabras: |
8 | 8 |
|
9 |
| -- At string start, if the first string character is a word character `pattern:\w`. |
10 |
| -- Between two characters in the string, where one is a word character `pattern:\w` and the other is not. |
11 |
| -- At string end, if the last string character is a word character `pattern:\w`. |
| 9 | +- Al comienzo de la cadena, si el primer carácter de cadena es un carácter de palabra `pattern:\w`. |
| 10 | +- Entre dos caracteres en la cadena, donde uno es un carácter de palabra `pattern:\w` y el otro no. |
| 11 | +- Al final de la cadena, si el último carácter de la cadena es un carácter de palabra `pattern:\w`. |
12 | 12 |
|
13 |
| -For instance, regexp `pattern:\bJava\b` will be found in `subject:Hello, Java!`, where `subject:Java` is a standalone word, but not in `subject:Hello, JavaScript!`. |
| 13 | +Por ejemplo, la expresión regular `pattern:\bJava\b` se encontrará en `subject:Hello, Java!`, donde `subject:Java` es una palabra independiente, pero no en `subject:Hello, JavaScript!`. |
14 | 14 |
|
15 | 15 | ```js run
|
16 | 16 | alert( "Hello, Java!".match(/\bJava\b/) ); // Java
|
17 | 17 | alert( "Hello, JavaScript!".match(/\bJava\b/) ); // null
|
18 | 18 | ```
|
19 | 19 |
|
20 |
| -In the string `subject:Hello, Java!` following positions correspond to `pattern:\b`: |
| 20 | +En la cadena `subject:Hello, Java!` las flechas que se muestran corresponden a `pattern:\b`, ver imagen: |
21 | 21 |
|
22 | 22 | 
|
23 | 23 |
|
24 |
| -So, it matches the pattern `pattern:\bHello\b`, because: |
| 24 | +Entonces, coincide con el patrón `pattern:\bHello\b`, porque: |
25 | 25 |
|
26 |
| -1. At the beginning of the string matches the first test `pattern:\b`. |
27 |
| -2. Then matches the word `pattern:Hello`. |
28 |
| -3. Then the test `pattern:\b` matches again, as we're between `subject:o` and a comma. |
| 26 | +1. Al comienzo de la cadena coincide con la primera prueba: `pattern:\b`. |
| 27 | +2. Luego coincide con la palabra `pattern:Hello`. |
| 28 | +3. Luego, la prueba `pattern:\b` vuelve a coincidir, ya que estamos entre `subject:o` y una coma. |
29 | 29 |
|
30 |
| -The pattern `pattern:\bHello\b` would also match. But not `pattern:\bHell\b` (because there's no word boundary after `l`) and not `Java!\b` (because the exclamation sign is not a wordly character `pattern:\w`, so there's no word boundary after it). |
| 30 | +El patrón `pattern:\bHello\b` también coincidiría. Pero no `pattern:\bHel\b` (porque no hay límite de palabras después de `l`) y tampoco `Java!\b` (porque el signo de exclamación no es un carácter común `pattern:\w`, entonces no hay límite de palabras después de eso). |
31 | 31 |
|
32 | 32 | ```js run
|
33 | 33 | alert( "Hello, Java!".match(/\bHello\b/) ); // Hello
|
34 | 34 | alert( "Hello, Java!".match(/\bJava\b/) ); // Java
|
35 |
| -alert( "Hello, Java!".match(/\bHell\b/) ); // null (no match) |
36 |
| -alert( "Hello, Java!".match(/\bJava!\b/) ); // null (no match) |
| 35 | +alert( "Hello, Java!".match(/\bHell\b/) ); // null (sin coincidencia) |
| 36 | +alert( "Hello, Java!".match(/\bJava!\b/) ); // null (sin coincidencia) |
37 | 37 | ```
|
38 | 38 |
|
39 |
| -We can use `pattern:\b` not only with words, but with digits as well. |
| 39 | +Podemos usar `pattern:\b` no solo con palabras, sino también con dígitos. |
40 | 40 |
|
41 |
| -For example, the pattern `pattern:\b\d\d\b` looks for standalone 2-digit numbers. In other words, it looks for 2-digit numbers that are surrounded by characters different from `pattern:\w`, such as spaces or punctuation (or text start/end). |
| 41 | +Por ejemplo, el patrón `pattern:\b\d\d\b` busca números independientes de 2 dígitos. En otras palabras, busca números de 2 dígitos que están rodeados por caracteres diferentes de `pattern:\w`, como espacios o signos de puntuación (o texto de inicio/fin). |
42 | 42 |
|
43 | 43 | ```js run
|
44 | 44 | alert( "1 23 456 78".match(/\b\d\d\b/g) ); // 23,78
|
45 | 45 | alert( "12,34,56".match(/\b\d\d\b/g) ); // 12,34,56
|
46 | 46 | ```
|
47 | 47 |
|
48 |
| -```warn header="Word boundary `pattern:\b` doesn't work for non-latin alphabets" |
49 |
| -The word boundary test `pattern:\b` checks that there should be `pattern:\w` on the one side from the position and "not `pattern:\w`" - on the other side. |
| 48 | +```warn header="El límite de palabra `pattern:\b` no funciona para alfabetos no latinos" |
| 49 | +La prueba de límite de palabra `pattern:\b` verifica que debe haber un `pattern:\w` en un lado de la posición y "no `pattern:\w`"- en el otro lado. |
50 | 50 |
|
51 |
| -But `pattern:\w` means a latin letter `a-z` (or a digit or an underscore), so the test doesn't work for other characters, e.g. cyrillic letters or hieroglyphs. |
| 51 | +Pero `pattern:\w` significa una letra latina `a-z` (o un dígito o un guión bajo), por lo que la prueba no funciona para otros caracteres, p.ej.: letras cirílicas o jeroglíficos. |
52 | 52 | ```
|
0 commit comments