# Regex (expresión regular)

> Usa las reglas de coincidencia Wildcard y Regex en herramientas de Proxyman como Map Local y Breakpoint, y prueba tu regla con URL de ejemplo antes de guardarla.

## 1. ¿Qué es? {#1-whats-it}

A partir de la versión 2.3.0, Proxyman admite **Wildcard** y **Regex** (coincidencia con palabras completas) al definir reglas de coincidencia en todas las herramientas de depuración:

* [Map Local](https://proxyman.com/docs/es/advanced-features/map-local)
* [Map Remote](https://proxyman.com/docs/es/advanced-features/map-remote)
* [Block List](https://proxyman.com/docs/es/advanced-features/blacklist) y [Allow List](https://proxyman.com/docs/es/advanced-features/whitelist)
* [Breakpoint](https://proxyman.com/docs/es/advanced-features/breakpoint)
* [Protocol Buffers (Protobuf)](https://proxyman.com/docs/es/advanced-features/protobuf)
* [Reverse Proxy](https://proxyman.com/docs/es/advanced-features/reverse-proxy)
* [Network Conditions](https://proxyman.com/docs/es/advanced-features/network-throttling)
* ...

Te ayuda a definir exactamente qué solicitudes activan la herramienta.

![Lista de reglas de Map Remote de Proxyman con una regla Regex y dos reglas Wildcard en la columna Matching Rule](https://proxyman.com/docs/assets/proxyman-map-remote-rules.jpg)

_Reglas Wildcard y Regex_

## 2. Prueba tu URL (nueva función 🎉) {#2-test-your-url-new-feature-}

Desde Proxyman v4.8.0, puedes probar rápidamente tu regla (Wildcard o Regex).

* Prueba y valida rápidamente tu regla Wildcard o Regex.
* **Ahorra tiempo**: No necesitas ir y volver para comprobar tu URL.
* Cometes menos errores.

![Ventana Test Rules de Proxyman comprobando el comodín http://localhost:3000/* con tres URL, con los estados Matched o Not Matched](https://proxyman.com/docs/assets/proxyman-test-rules-window.jpg)

_Prueba una regla con tus URL_

#### ¿Cómo se usa? {#how-to-use-it}

1. Abre cualquier herramienta de depuración (Breakpoint, Map Local, ...) y crea una regla nueva.
2. Haz clic en el botón **Test your Rule**. Se abre la ventana Test Rules.
3. Añade tu regla y las URL que quieras comprobar.

* :white\_check\_mark: Matched: tu URL coincide con tu regla.
* :warning: Not Matched: tu URL no coincide con tu regla. Es posible que tengas que reescribir tu regla Wildcard o Regex.

## 3. Wildcard {#3-wildcard}

Proxyman admite dos caracteres comodín sencillos: `*` y `?`

| Comodín | Función                                                                    |
| ------- | -------------------------------------------------------------------------- |
| `*`     | El asterisco coincide con cualquier carácter cero o más veces.             |
| `?`     | El signo de interrogación coincide con un único carácter una sola vez.     |

Por ejemplo:

* http://proxyman.io/v1/\*
* https://myserver.com/v?/\*

## 4. Regex {#4-regex}

Proxyman también admite Regex. 

* Asegúrate de que tu regex **coincide con la URL completa**.
* Una **coincidencia parcial** cuenta como no coincidencia.
* Asegúrate de **escapar los caracteres** correctamente: la barra (/), el punto (.), etc.

Por ejemplo:

| Regex                                                                        | Ejemplos de URL coincidentes                                                                     |
| ---------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------ |
| https:\\/\\/proxyman\\.io.\*                                                 | <p>https://proxyman.io<br>https://proxyman.io/v1/data?id=123<br>https://proxyman.io/pricing</p>  |
| ^(http\|https):\\/\\/www\\.google\\.com.\*                                   | <p>http://www.google.com<br>http://www.google.com/user?id=proxyman<br>https://www.google.com</p> |
| ^(http\|https)?:\\/\\/www\\.google\\.com\\/v\[0-9]?\\/build\\?query=proxyman | <p>http://www.google.com/v1/build?query=proxyman<br>www.google.com/v2/build?query=proxyman</p>   |

Puedes usar [regex101](https://regex101.com/) para comprobar que tu regex coincide con la URL completa.

![Prueba de regex101 con una regex que coincide por completo con tres URL de google.com](https://proxyman.com/docs/assets/1.png)

> **Nota:** Proxyman usa NSRegularExpression de Apple. Consulta los [**metacaracteres, operadores y modificadores** de Regex](https://developer.apple.com/documentation/foundation/nsregularexpression#1965590) en la documentación de Apple Developer para ver cuáles son compatibles.

> **Nota:** Comprueba tu regex en [regex101.com](https://regex101.com) y asegúrate de que coincide por completo con la URL indicada.

* Selecciona **Use Regex** al crear una regla.

> **Nota:** En las expresiones regulares, `?` y `*` significan algo distinto que en los comodines. El `?` de un comodín equivale a `.` en regex, y el `*` de un comodín equivale a `.*`
