{"id":919,"date":"2015-08-14T22:16:14","date_gmt":"2015-08-15T04:16:14","guid":{"rendered":"https:\/\/psoluciones.net\/?p=919"},"modified":"2016-07-06T09:52:53","modified_gmt":"2016-07-06T15:52:53","slug":"usando-expresiones-regulares-con-sublime-text","status":"publish","type":"post","link":"https:\/\/emanuelpaxtian.com\/blog\/usando-expresiones-regulares-con-sublime-text\/","title":{"rendered":"Usando expresiones regulares con sublime text"},"content":{"rendered":"<p>Es interesante saber que <strong>Sublime Text<\/strong> permite realizar b\u00fasquedas o reemplazos utilizando\u00a0<strong>Expresiones regulares<\/strong>. Esto es una forma eficiente\u00a0de hacer cambios utilizando patrones no exactos. Para activar el soporte de expresiones regulares simplemente hay que pulsar el primer bot\u00f3n de la barra de b\u00fasqueda, simbolizado por los caracteres <strong>.<\/strong>*.<\/p>\n<p>Una vez activo, podremos realizar b\u00fasquedas o reemplazos utilizando expresiones regulares.<\/p>\n<p>El mundo de las expresiones regulares es muy amplio, pero es muy \u00fatil para automatizar tareas de b\u00fasqueda con patrones muy variables o desconocidos. Aqu\u00ed algunos ejemplos:<\/p>\n<h2 id=\"expresiones-regulares-at\u00f3micas\">Expresiones regulares at\u00f3micas<\/h2>\n<table class=\"table table-hover\">\n<thead>\n<tr class=\"header\">\n<th>RegEx<\/th>\n<th>Significado<\/th>\n<\/tr>\n<\/thead>\n<tbody>\n<tr class=\"odd\">\n<td>^texto<\/td>\n<td>L\u00ednea que empiece por a<\/td>\n<\/tr>\n<tr class=\"even\">\n<td>texto$<\/td>\n<td>L\u00ednea que acabe en a<\/td>\n<\/tr>\n<tr class=\"odd\">\n<td>.<\/td>\n<td>Cualquier car\u00e1cter<\/td>\n<\/tr>\n<tr class=\"even\">\n<td>a*<\/td>\n<td>Cero o m\u00e1s \u00aba\u00bb<\/td>\n<\/tr>\n<tr class=\"odd\">\n<td>a+<\/td>\n<td>Una o m\u00e1s \u00aba\u00bb<\/td>\n<\/tr>\n<tr class=\"even\">\n<td>a|b<\/td>\n<td>Car\u00e1cter \u00aba\u00bb o \u00abb\u00bb<\/td>\n<\/tr>\n<tr class=\"odd\">\n<td>[aeiou]<\/td>\n<td>Una vocal min\u00fascula<\/td>\n<\/tr>\n<tr class=\"even\">\n<td>[^aeiou]<\/td>\n<td>Car\u00e1cter no vocal min\u00fascula<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<h2 id=\"expresiones-regulares-b\u00e1sicas\">Expresiones regulares b\u00e1sicas<\/h2>\n<table class=\"table table-hover\">\n<thead>\n<tr class=\"header\">\n<th>RegEx<\/th>\n<th>Significado<\/th>\n<\/tr>\n<\/thead>\n<tbody>\n<tr class=\"odd\">\n<td>[a-zA-Z0-9]+<\/td>\n<td>Letras o n\u00fameros<\/td>\n<\/tr>\n<tr class=\"even\">\n<td>[0-9]{2}<\/td>\n<td>Cifra de 2 d\u00edgitos<\/td>\n<\/tr>\n<tr class=\"odd\">\n<td>[0-9]{1,3}<\/td>\n<td>Cifra de 1 a 3 d\u00edgitos<\/td>\n<\/tr>\n<tr class=\"even\">\n<td>[0-9]A?<\/td>\n<td>N\u00famero que puede (o no) acabar en \u00abA\u00bb<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<h2 id=\"expresiones-regulares-de-agrupaci\u00f3n-captura\">Expresiones regulares de agrupaci\u00f3n (captura)<\/h2>\n<table class=\"table table-hover\">\n<thead>\n<tr class=\"header\">\n<th>RegEx<\/th>\n<th>Significado<\/th>\n<th>Valor capturado ($1)<\/th>\n<\/tr>\n<\/thead>\n<tbody>\n<tr class=\"odd\">\n<td>h(.+)a<\/td>\n<td>Textos como: hola, hala, hasta, hora&#8230;<\/td>\n<td>ol, al, ast, or&#8230;<\/td>\n<\/tr>\n<tr class=\"even\">\n<td>Nivel ([0-9]+)<\/td>\n<td>Textos como: Nivel 0, Nivel 1, Nivel 2&#8230;<\/td>\n<td>0, 1, 2&#8230;<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<p>Lo interesante de estas \u00faltimas expresiones regulares es que los par\u00e9ntesis efect\u00faan una tarea de agrupaci\u00f3n, capturando el contenido y guard\u00e1ndolo en una variable $1. En el caso de que la expresi\u00f3n regular contenga m\u00e1s par\u00e9ntesis, ir\u00e1 capturando en variables sucesivas: $1, $2, $3, etc&#8230;<\/p>\n<p>Todo esto puede ser muy \u00fatil para realizar reemplazos con fragmentos capturados en dichas variables.<\/p>\n<p>&nbsp;<\/p>\n<p>&nbsp;<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Es interesante saber que Sublime Text permite realizar b\u00fasquedas o reemplazos utilizando\u00a0Expresiones regulares. Esto es una forma eficiente\u00a0de hacer cambios utilizando patrones no exactos. Para activar el soporte de expresiones&hellip;<\/p>\n","protected":false},"author":1,"featured_media":920,"comment_status":"closed","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[8,5],"tags":[],"class_list":["post-919","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-general","category-php"],"_links":{"self":[{"href":"https:\/\/emanuelpaxtian.com\/blog\/wp-json\/wp\/v2\/posts\/919","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/emanuelpaxtian.com\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/emanuelpaxtian.com\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/emanuelpaxtian.com\/blog\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/emanuelpaxtian.com\/blog\/wp-json\/wp\/v2\/comments?post=919"}],"version-history":[{"count":0,"href":"https:\/\/emanuelpaxtian.com\/blog\/wp-json\/wp\/v2\/posts\/919\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/emanuelpaxtian.com\/blog\/wp-json\/wp\/v2\/media\/920"}],"wp:attachment":[{"href":"https:\/\/emanuelpaxtian.com\/blog\/wp-json\/wp\/v2\/media?parent=919"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/emanuelpaxtian.com\/blog\/wp-json\/wp\/v2\/categories?post=919"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/emanuelpaxtian.com\/blog\/wp-json\/wp\/v2\/tags?post=919"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}