Volver al blog
cómo-se-hace regex avanzado

Snippets con regex: expande patrones, no solo palabras

Usa expresiones regulares para reconocer patrones y transformar texto con grupos de captura. Reformatea números de teléfono, convierte URLs en enlaces y mucho más.

By Aaron Hampton 3 min read

Los snippets normales reconocen texto exacto. Los snippets con regex reconocen patrones. Escribes un número de teléfono en un formato y lo obtienes en otro. Escribes una URL sin formato y obtienes un enlace en Markdown. Escribes una fecha de una forma y la reformateas a otra.

Crear un snippet con regex

  1. Crea un nuevo snippet (Cmd+N)
  2. Cambia el Tipo de coincidencia de Exacto a Regex
  3. Ingresa un patrón de expresión regular en el campo de patrón
  4. Usa $1, $2, etc. en el contenido para hacer referencia a los grupos capturados

El editor valida tu patrón en tiempo real: verás una marca verde si es válido, o un mensaje de error en rojo explicando qué está mal. También te indica cuántos grupos de captura contiene tu patrón.

Grupos de captura

Los paréntesis en tu patrón crean grupos de captura. Cada grupo recibe un número:

  • $0: el texto completo que coincidió
  • $1: primer grupo
  • $2: segundo grupo
  • Y así sucesivamente…

Ejemplo: reformatear números de teléfono

Patrón: tel:(\d{3})-(\d{3})-(\d{4}) Contenido: ($1) $2-$3

Escribes:  tel:555-867-5309
Obtienes:  (555) 867-5309

El patrón reconoce tel: seguido de tres grupos de dígitos. El contenido los reorganiza en un formato diferente.

Ejemplo: enlace Markdown a partir de una URL

Patrón: mdlink:(https?://\S+) Contenido: [$1]($1)

Escribes:  mdlink:https://example.com
Obtienes:  [https://example.com](https://example.com)

Ejemplo: envolver texto en una etiqueta HTML

Patrón: wrap:(\w+):(.+) Contenido: <$1>$2</$1>

Escribes:  wrap:strong:texto importante
Obtienes:  <strong>texto importante</strong>

Dos grupos de captura: el nombre de la etiqueta y el contenido.

Recetas prácticas

Direcciones de email rápidas

Patrón: @(\w+) Contenido: [email protected]

Escribes:  @aaron
Obtienes:  [email protected]

Reformateo de fechas

Patrón: date:(\d{1,2})/(\d{1,2})/(\d{4}) Contenido: $3-$2-$1

Escribes:  date:15/01/2026
Obtienes:  2026-01-15

Convierte DD/MM/YYYY al formato ISO.

Color CSS en formato completo

Patrón: rgb:(\d{1,3}),(\d{1,3}),(\d{1,3}) Contenido: rgb($1, $2, $3)

Escribes:  rgb:232,93,4
Obtienes:  rgb(232, 93, 4)

Enlaces a tickets estilo Jira

Patrón: (PROJ-\d+) Contenido: [$0](https://jira.empresa.com/browse/$0)

Escribes:  PROJ-1234
Obtienes:  [PROJ-1234](https://jira.empresa.com/browse/PROJ-1234)

Como $0 es la coincidencia completa, no necesitas grupos explícitos para patrones simples.

Hora a partir de una abreviatura

Patrón: t:(\d{1,2}):(\d{2})(a|p) Contenido: $1:$2 $3m

Escribes:  t:2:30p
Obtienes:  2:30 pm

Consejos para escribir patrones

Empieza simple. Haz que funcione un patrón básico antes de agregar complejidad.

Usa \d para dígitos y \w para caracteres de palabra. Son más seguros que ., que reconoce cualquier cosa.

Escapa los caracteres especiales. Si necesitas reconocer un . o ( literal, ponle \ delante: \. o \(.

Prueba en el editor. El indicador de validación te dice de inmediato si tu patrón es válido y muestra el número de grupos de captura.

Usa grupos no capturadores cuando los necesites. (?:...) agrupa sin capturar, así no desplaza tu numeración de $1, $2.

El modo de activación importa

Los snippets con regex respetan los mismos modos de activación que los snippets exactos:

  • Después del delimitador: el patrón debe ir seguido de un espacio, puntuación, etc.
  • Inmediato: reconoce y expande en cuanto el patrón se completa. Ten cuidado con patrones amplios porque pueden reconocer más de lo esperado.
  • Solo manual: solo se expande con Quick Search o un hotkey.

Para los snippets con regex, el modo Después del delimitador es especialmente importante. Evita que una coincidencia parcial se active mientras todavía estás escribiendo.

Combinar con macros

El contenido de los snippets con regex es compatible con todos los macros estándar. Puedes mezclar grupos de captura con valores dinámicos:

Patrón: log:(\w+):(.+) Contenido: [{{date:yyyy-MM-dd}} {{time:HH:mm:ss}}] [$1] $2

Escribes:  log:ERROR:Se agotó el tiempo de conexión
Obtienes:  [2026-01-15 14:30:45] [ERROR] Se agotó el tiempo de conexión

El patrón captura el nivel y el mensaje; los macros agregan la marca de tiempo.

Los snippets con regex son la función más potente de TypeSnap. Convierten el tipeo en transformación: no solo expanden texto, sino que lo reformatean sobre la marcha.

Stop typing the same things over and over

TypeSnap expands your snippets instantly. One-time purchase, no subscription.

Get TypeSnap · $17.99

¿Listo para escribir menos?

Únete a miles que han cambiado a TypeSnap. Tus fragmentos, tu Mac, tu privacidad.

Descargar TypeSnap — $17.99
Notarized Mac App No data collection Made by an indie developer