{"id":714,"date":"2024-07-30T20:25:08","date_gmt":"2024-07-30T18:25:08","guid":{"rendered":"https:\/\/blog.sutilweb.eu\/?page_id=714"},"modified":"2024-07-30T20:25:09","modified_gmt":"2024-07-30T18:25:09","slug":"006-expresiones-regulares","status":"publish","type":"page","link":"https:\/\/sutilweb.eu\/index.php\/lenguajes\/javascript\/javascript-practico\/06-objetos-y-funciones-del-lenguaje\/006-expresiones-regulares\/","title":{"rendered":"006. Expresiones regulares"},"content":{"rendered":"\n<p class=\"wp-block-paragraph\">Una <strong>expresi\u00f3n regular<\/strong> es una secuencia de caracteres que forman un patr\u00f3n de b\u00fasqueda y que principalmente es utilizado en la b\u00fasqueda de cadenas de texto. Encontraremos toda la informaci\u00f3n acerca de las <strong>expresiones regulares<\/strong> en los enlaces que facilitamos a continuaci\u00f3n:<\/p>\n\n\n\n<!--more-->\n\n\n\n<ul class=\"wp-block-list\">\n<li><a href=\"https:\/\/developer.mozilla.org\/es\/docs\/Web\/JavaScript\/Guide\/Regular_expressions\" target=\"_blank\" rel=\"noreferrer noopener\">MDN<\/a><\/li>\n\n\n\n<li><a href=\"https:\/\/es.wikipedia.org\/wiki\/Expresi%C3%B3n_regular\" target=\"_blank\" rel=\"noreferrer noopener\">Wikipedia<\/a><\/li>\n<\/ul>\n\n\n\n<p class=\"wp-block-paragraph\">Las <strong>expresiones regulares<\/strong> no es algo exclusivo de <strong>Javascript<\/strong>, cualquier lenguaje de programaci\u00f3n debe tener una implementaci\u00f3n de estas <strong>expresiones regulares<\/strong>. Las <strong>expresiones regulares<\/strong> nos van a ayudar mucho cuando queramos hacer validaciones, como por ejm, validar <strong>correos electr\u00f3nicos<\/strong>, <strong>tel\u00e9fonos<\/strong>, <strong>DNIs<\/strong>&#8230;<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Es importante saber manejar las <strong>expresiones regulares<\/strong> con soltura, pero no es necesario aprenderse de memoria la sintaxis de las mismas. Si hacemos una b\u00fasqueda en <a href=\"https:\/\/google.es\" target=\"_blank\" rel=\"noreferrer noopener\"><strong>Google<\/strong><\/a> acerca de la validaci\u00f3n que estemos buscando (un <strong>DNI<\/strong>, un <strong>tel\u00e9fono<\/strong>, un <strong>email<\/strong>&#8230;) seguramente ya existe alguien que ha creado el patr\u00f3n para ello. Es importante familiarizarse con sus <strong>comodines<\/strong>, pero no saberlos de memoria.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Definir una expresi\u00f3n regular en Javascript<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">Existen dos maneras de definir una expresi\u00f3n regular. Veamos un ejm.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>Ejm<\/strong><\/p>\n\n\n\n<pre class=\"wp-block-preformatted\">&nbsp; &nbsp; &nbsp; let cadena = \"Hola mi nombre es Francisco, soy Francisco Paredes\";\n\n&nbsp; &nbsp; &nbsp; \/\/ Primera manera de expresar un expresi\u00f3n regular\n&nbsp; &nbsp; &nbsp; let expReg = new RegExp(\"Fancisco\", \"\");\n\n&nbsp; &nbsp; &nbsp; \/\/ Segunda manera de expresar una expresi\u00f3n regular\n  &nbsp; &nbsp; let expReg2 = \/lorem\/;<\/pre>\n\n\n\n<h2 class=\"wp-block-heading\">Como hacer que Javascript valide este patr\u00f3n<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">Existen varios m\u00e9todos para ello, los m\u00e1s habituales son el m\u00e9todo test() y el m\u00e9todo exec().<\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>Ejm<\/strong><\/p>\n\n\n\n<pre class=\"wp-block-preformatted\">&lt;!DOCTYPE html&gt;\n&lt;html lang=\"en\"&gt;\n&nbsp; &lt;head&gt;\n&nbsp; &nbsp; &lt;meta charset=\"UTF-8\" \/&gt;\n&nbsp; &nbsp; &lt;meta name=\"viewport\" content=\"width=device-width, initial-scale=1.0\" \/&gt;\n&nbsp; &nbsp; &lt;title&gt;Expresiones regulares en Javascript&lt;\/title&gt;\n&nbsp; &lt;\/head&gt;\n\n&nbsp; &lt;body&gt;\n&nbsp; &nbsp; &lt;h1&gt;Expresiones regulares en Javascript&lt;\/h1&gt;\n\n&nbsp; &nbsp; &lt;script&gt;\n&nbsp; &nbsp; &nbsp; let cadena = \"Hola mi nombre es Francisco, soy Francisco Paredes\";\n\n&nbsp; &nbsp; &nbsp; \/\/ Primera manera de expresar un expresi\u00f3n regular\n&nbsp; &nbsp; &nbsp; let expReg = new RegExp(\"francisco\", \"gi\");\n\n&nbsp; &nbsp; &nbsp; \/\/ Segunda manera de expresar una expresi\u00f3n regular\n&nbsp; &nbsp; &nbsp; let expReg2 = \/Francisco\/gi;\n\n&nbsp; &nbsp; &nbsp; console.log(expReg.test(cadena)); \/\/ Devuelve true si encuentra la cadena\n&nbsp; &nbsp; &nbsp; console.log(expReg.exec(cadena)); \/\/ Devueleve un Array con m\u00e1s informaci\u00f3n\n\n&nbsp; &nbsp; &nbsp; console.log(expReg2.test(cadena)); \/\/ Devuelve true si encuentra la cadena\n&nbsp; &nbsp; &nbsp; console.log(expReg2.exec(cadena)); \/\/ Devueleve un Array con m\u00e1s informaci\u00f3n\n&nbsp; &nbsp; &lt;\/script&gt;\n&nbsp; &lt;\/body&gt;\n&lt;\/html&gt;<\/pre>\n\n\n\n<h2 class=\"wp-block-heading\">Banderas<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">Las banderas son comodines que podemos utilizar para validar, algunas de las m\u00e1s usadas son:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>\\d: d\u00edgito<\/li>\n\n\n\n<li>\\g: se puede repetir<\/li>\n\n\n\n<li>[]: listado v\u00e1lido<\/li>\n\n\n\n<li>{}: indican repetici\u00f3n<\/li>\n<\/ul>\n\n\n\n<p class=\"wp-block-paragraph\">Para ver todo acerca de las expresiones regulares pod\u00e9is ir a los enlaces de <a href=\"https:\/\/es.wikipedia.org\/wiki\/Expresi%C3%B3n_regular\" target=\"_blank\" rel=\"noreferrer noopener\"><strong>Wikipedia<\/strong> <\/a>o de <a href=\"https:\/\/developer.mozilla.org\/es\/docs\/Web\/JavaScript\/Guide\/Regular_expressions\" target=\"_blank\" rel=\"noreferrer noopener\"><strong>MDN<\/strong><\/a>.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Una expresi\u00f3n regular es una secuencia de caracteres que forman un patr\u00f3n de b\u00fasqueda y que principalmente es utilizado en la b\u00fasqueda&#8230;<\/p>\n","protected":false},"author":1,"featured_media":0,"parent":697,"menu_order":5,"comment_status":"closed","ping_status":"closed","template":"","meta":{"_uag_custom_page_level_css":"","footnotes":""},"class_list":["post-714","page","type-page","status-publish","hentry"],"uagb_featured_image_src":{"full":false,"thumbnail":false,"medium":false,"medium_large":false,"large":false,"1536x1536":false,"2048x2048":false},"uagb_author_info":{"display_name":"Sutil Web","author_link":"https:\/\/sutilweb.eu\/index.php\/author\/sutilweb\/"},"uagb_comment_info":0,"uagb_excerpt":"Una expresi\u00f3n regular es una secuencia de caracteres que forman un patr\u00f3n de b\u00fasqueda y que principalmente es utilizado en la b\u00fasqueda...","_links":{"self":[{"href":"https:\/\/sutilweb.eu\/index.php\/wp-json\/wp\/v2\/pages\/714","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/sutilweb.eu\/index.php\/wp-json\/wp\/v2\/pages"}],"about":[{"href":"https:\/\/sutilweb.eu\/index.php\/wp-json\/wp\/v2\/types\/page"}],"author":[{"embeddable":true,"href":"https:\/\/sutilweb.eu\/index.php\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/sutilweb.eu\/index.php\/wp-json\/wp\/v2\/comments?post=714"}],"version-history":[{"count":1,"href":"https:\/\/sutilweb.eu\/index.php\/wp-json\/wp\/v2\/pages\/714\/revisions"}],"predecessor-version":[{"id":715,"href":"https:\/\/sutilweb.eu\/index.php\/wp-json\/wp\/v2\/pages\/714\/revisions\/715"}],"up":[{"embeddable":true,"href":"https:\/\/sutilweb.eu\/index.php\/wp-json\/wp\/v2\/pages\/697"}],"wp:attachment":[{"href":"https:\/\/sutilweb.eu\/index.php\/wp-json\/wp\/v2\/media?parent=714"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}