From 5fb2e03296425d61e846bf671f3483ad4ef98447 Mon Sep 17 00:00:00 2001 From: Carlos Ortiz Gutierrez Date: Fri, 19 Jun 2020 18:45:33 -0600 Subject: [PATCH 1/2] actualizacion --- figures.sketch | Bin 5357168 -> 5357084 bytes 1 file changed, 0 insertions(+), 0 deletions(-) diff --git a/figures.sketch b/figures.sketch index c740ac5772b7c4391f0737c21955aa826164fbb9..a50292b70185c49ef9b78785b419c0c1d1a4503d 100644 GIT binary patch delta 705 zcmWN`X-E@b0Ecm0Ub%FdPMuTJm2+O3P3JY2*VJj7I#W#0AWAS%u{7BzmJ2 z^hU<(aa1-OE546;ruEPF1SV_B1~A$38^}tQ9aggJH*&~~&Yn7s8J)v~4s{94rZ%!S z$Hd;;3HA_JRgSm5p;hIiSjQJ3tKc?*M_39asorIwde`~fO`@-Gp-w_y;kq+{XFNCc z5dM91`z6GWUANkPQq;{xQMbE&9x2&$r#vW6lx%Xg9B{$HSz1NVqF1gA^)B2bDW;WN zcR7}{TzxEB=D1xR@Y&!x%OT`@8@}T2q4!uV8LaWaV2$seGW4$c4#*JabE^IOk zCCz;TH1`D^n9x)nT=|J?M~6_M*p3dX%O$0nFqCS9Yq2E5Af!adFodTEpkp(<%7HK} z;b2(Kvai9jSgd7Z_=fn7J3?B;94%5g5g~TC?iZ0>N2YorFx3-zWWiLM#NQUn9TFQ2 z*11tHWJFsSMMXnf81uUhjh|x%t`eRk7CcE@O)+{q<3gpxun-5sg0xeEf{XFb-@uwJ zb1nnBQ6`E;>MPlff=G{KkRF{|k-$rm5avk~sst!hiS|}dXC zOl4Ou9ape=={)--b{v(9@t{?FnH-ENDHWB4gVF5nNIY1}-eZw=b2i$|IVtrpm8*5? E|3>RfdjJ3c delta 884 zcmWlXYeAX$nrM$bTlR(7`$|NckDK)z&nC2@=VWMdk zNwXA7YMAzb8ANzVLujZaM5+0~tjv)Y5N!3|hd;k_e$Vq9&Utz7?~HK`h^}7BVP4cr zr4Knwjc$U~O>jsz!F~0D!_fK4U3s^_cS7EeQ4YiQ>v@P7_3O>ODzTqSv!J;&{qua;YosxeeI?zYn%5Y2YR&4UeTtl-ix$)Z~sBG>+7Tq_Hel!Qp)W(_*V~? zU3jSYJ=|ER58_K>p?>9=*he<_QDlQ`0k>yeM`VaUxsC)R9>7fgNT59ECwa7=GaOGHO+0lBp95!^7PBY@ zSI@+7XHZ*_$o@2Lt=BWcw4 pG`&@hTI@plwl!)BLpmu88Aq>i89`fhp~k5#=7xqxcMCN&n*ZBqQ9S?v From da207f6904c2b77a3678a8c3f959e2eb1a345bb6 Mon Sep 17 00:00:00 2001 From: Carlos Ortiz Gutierrez Date: Fri, 19 Jun 2020 19:01:42 -0600 Subject: [PATCH 2/2] merge2 --- .../15-function-basics/function_basics.png | Bin 22267 -> 22266 bytes .../15-function-basics/function_basics@2x.png | Bin 45318 -> 45317 bytes .../02-regexp-methods/article.md | 203 ++++++++++++++++++ .../02-regexp-methods/love-html5-classes.svg | 1 + 4 files changed, 204 insertions(+) create mode 100644 9-regular-expressions/02-regexp-methods/article.md create mode 100644 9-regular-expressions/02-regexp-methods/love-html5-classes.svg diff --git a/1-js/02-first-steps/15-function-basics/function_basics.png b/1-js/02-first-steps/15-function-basics/function_basics.png index f5e6f94183ff28ae7b6b61d97d39c82d5d42e80d..0f4f5291b0f079d3869cb8ddbd0d776e0a0e9eff 100644 GIT binary patch delta 15 WcmeypmhsnGMwZS1KlhES-@*VoU para conocer el soporte actualizado. Al momento de escribirse este manual, no estaban soportados. + +Afortunadamente, hay una alternativa, que funciona en todas partes. Podemos usar una expresión regular como `pattern:[\s\S]` para que coincida con "cualquier carácter". + +```js run +alert( "A\nB".match(/A[\s\S]B/) ); // A\nB (coincide!) +``` + +El patrón `pattern:[\s\S]` literalmente dice: "con carácter de espacio O sin carácter de espacio". En otras palabras, "cualquier cosa". Podríamos usar otro par de clases complementarias, como `pattern:[\d\D]`, eso no importa. O incluso `pattern:[^]`, que significa que coincide con cualquier carácter excepto nada. + +También podemos usar este truco si queremos ambos tipos de "puntos" en el mismo patrón: el patrón actual `pattern:.` comportándose de la manera regular ("sin incluir una línea nueva"), y la forma de hacer coincidir "cualquier carácter" con el patrón `pattern:[\s\S]` o similar. +```` + +````warn header="Presta atención a los espacios" +Por lo general, prestamos poca atención a los espacios. Para nosotros, las cadenas `subject:1-5` y `subject:1 - 5` son casi idénticas. + +Pero si una expresión regular no tiene en cuenta los espacios, puede que no funcione. + +Intentemos encontrar dígitos separados por un guión: + +```js run +alert( "1 - 5".match(/\d-\d/) ); // null, sin coincidencia! +``` + +Vamos a arreglarlo agregando espacios en la expresión regular `pattern:\d - \d`: + +```js run +alert( "1 - 5".match(/\d - \d/) ); // 1 - 5, funciona ahora +// o podemos usar la clase \s: +alert( "1 - 5".match(/\d\s-\s\d/) ); // 1 - 5, tambien funciona +``` + +**Un espacio es un carácter. Igual de importante que cualquier otro carácter.** + +No podemos agregar o eliminar espacios de una expresión regular y esperar que funcione igual. + +En otras palabras, en una expresión regular todos los caracteres importan, los espacios también. +```` + +## Resumen + +Existen las siguientes clases de caracteres: + +- `pattern:\d` -- dígitos. +- `pattern:\D` -- sin dígitos. +- `pattern:\s` -- símbolos de espacio, tabulaciones, líneas nuevas. +- `pattern:\S` -- todo menos `pattern:\s`. +- `pattern:\w` -- letras latinas, dígitos, guión bajo `'_'`. +- `pattern:\W` -- todo menos `pattern:\w`. +- `pattern:.` -- cualquier caracter, si la expresión regular usa la bandera `'s'`, de otra forma cualquiera excepto **línea nueva** `\n`. + +...¡Pero eso no es todo! + +La codificación Unicode, utilizada por JavaScript para las cadenas, proporciona muchas propiedades para los caracteres, como: a qué idioma pertenece la letra (si es una letra), es un signo de puntuación, etc. + +Se pueden hacer búsquedas usando esas propiedades. Y se requiere la bandera `pattern:u`, analizada en el siguiente artículo. diff --git a/9-regular-expressions/02-regexp-methods/love-html5-classes.svg b/9-regular-expressions/02-regexp-methods/love-html5-classes.svg new file mode 100644 index 000000000..9c88cc088 --- /dev/null +++ b/9-regular-expressions/02-regexp-methods/love-html5-classes.svg @@ -0,0 +1 @@ + \ No newline at end of file pFad - Phonifier reborn

Pfad - The Proxy pFad of © 2024 Garber Painting. All rights reserved.

Note: This service is not intended for secure transactions such as banking, social media, email, or purchasing. Use at your own risk. We assume no liability whatsoever for broken pages.


Alternative Proxies:

Alternative Proxy

pFad Proxy

pFad v3 Proxy

pFad v4 Proxy