# IsRegEx - Función de script y de gráfico

IsRegEx() devuelve si el texto especificado es una expresión regular válida.

Esta función realiza operaciones regex que distinguen entre mayúsculas y minúsculas. Puede utilizar alternativamente la variante IsRegExI() para realizar operaciones regex sin distinguir mayúsculas de minúsculas.

Sintaxis:

IsRegEx (expr [, debug])

Tipo de datos que devuelve: dual

Argumentos

| Argumento | Descripción |
| --- | --- |
| expr | Expresión de cadena que contiene la expresión regular que evaluar. |
| debug | Argumento opcional. Si se especifica un valor para este argumento, la expresión devuelve una sugerencia de texto en la que se indica cómo podría corregirse una expresión regular no válida. |

Ejemplos de funciones

| Ejemplo | Resultado |
| --- | --- |
| `IsRegEx('[a-z]')` | Devuelve`-1` (verdadero). |
| `IsRegEx(']0-1[', 1)` | Este ejemplo devuelve un mensaje de error con una pista para corregir la expresión regular no válida `]0-1[`. |
| `IsRegEx('[a-z')` | Devuelve`0` (falso). No se muestra ningún mensaje de error porque no se ha especificado el argumento debug. |

## Cuándo se utiliza

Puede utilizar IsRegEx() para comprobar si las expresiones regulares que escribe son válidas en Qlik Sense. Por ejemplo, puede cargar una tabla en su app con un texto de entrada y una evaluación de la validez del texto como regex.

## Ejemplo 1: cargar la validez de la expresión regular en el modelo de datos

[](https://help.qlik.com/en-US/sense/Subsystems/Hub/Content/Sense_Hub/Scripting/StringFunctions/IsRegEx.htm)

#### Script de carga y resultados

Vista general

Abra el Editor de carga de datos y añada el script de carga inferior en una nueva sección.

El script de carga contiene:

* Un campo, `reg_exp`, que contiene cadenas de entrada que pueden ser o no expresiones regulares válidas.

* Dos campos calculados para comprobar si cada valor de `reg_exp` es una expresión regular válida o no:

  * `validity_no_hint`: muestra `-1` (verdadero) si la regex es válida, y 0 (falso) si no lo es.

  * `validity_with_hint`: muestra -1 (verdadero) si la expresión regular es válida. Si la regex no es válida, un mensaje de error autogenerado señala los problemas con la entrada, con posibles pistas para ayudar a solucionarlo.

Script de carga

```
[Expression Validity]:
	Load
		*,
		IsRegEx(reg_exp) as validity_no_hint,
		IsRegEx(reg_exp,1) as validity_with_hint
		;
Load
*
Inline
`
reg_exp
[a-z]+
([a-z)(0-9)+
abcdefg|[0-7
\$|¢(0-9)
`;
```

Resultados

Cargue los datos y abra una hoja. Cree una nueva tabla y agregue estos campos como dimensiones:

* `
  reg_exp`

* `validity_no_hint`

* `validity_with_hint`

Tabla de resultados

| reg\_exp | validity\_no\_hint | validity\_with\_hint |
| --- | --- | --- |
| ([a-z)(0-9)+ | 0 | -1 |
| [a-z]+ | -1 | Texto de sugerencia (generado automáticamente) |
| \$\|¢(0-9) | -1 | Texto de sugerencia (generado automáticamente) |
| abcdefg\|[0-7 | 0 | -1 |

## Ejemplo 2: cargar solo expresiones regulares válidas en el modelo de datos

[](https://help.qlik.com/en-US/sense/Subsystems/Hub/Content/Sense_Hub/Scripting/StringFunctions/IsRegEx.htm)

#### Script de carga y resultados

Vista general

Abra el Editor de carga de datos y añada el script de carga inferior en una nueva sección.

El script de carga contiene:

* Un campo, `reg_exp`, que contiene cadenas de entrada que pueden ser o no expresiones regulares válidas. Este campo está contenido en una tabla denominada `Regular Expressions`.

* Una cláusula where que solo carga registros en el modelo de datos cuando la entrada es una expresión regular válida.

Script de carga

```
[Regular Expressions]:

Load
*
Inline
`
reg_exp
[a-z]+
([a-z)(0-9)+
abcdefg|[0-7
\$|¢(0-9)
`
WHERE
IsRegEx(reg_exp)=True()
;
```

Resultados

Cargue los datos y abra una hoja. Cree una nueva tabla y agregue este campo como dimensión:

* `
  reg_exp`

Tabla de resultados

| reg\_exp |
| --- |
| [a-z]+ |
| \$\|¢(0-9) |

`[a-z]+` y `\$|¢(0-9)` son expresiones regulares válidas, por lo que se han cargado en el modelo de datos. `([a-z)(0-9)+` y `abcdefg|[0-7` no son expresiones regulares válidas, por lo que no se han cargado en el modelo de datos.

## Ejemplo 3: expresiones de gráfico

[](https://help.qlik.com/en-US/sense/Subsystems/Hub/Content/Sense_Hub/Scripting/StringFunctions/IsRegEx.htm)

#### Expresiones de gráfico y resultados

Vista general

En este ejemplo, cargamos un conjunto de cadenas de entrada en el modelo de datos y las añadimos a una tabla, junto con dos dimensiones calculadas que evalúan la validez de la expresión regular. Las dos dimensiones calculadas transmiten la misma información de forma diferente.

Abra la página Editor de carga de datos y añada el siguiente script de carga a una nueva sección.

El script de carga contiene un campo, `reg_exp`, que contiene cadenas de entrada que pueden ser o no expresiones regulares válidas. Este campo está contenido en una tabla denominada `Regular Expressions`.

Script de carga

```
[Regular Expressions]:

Load
*
Inline
`
reg_exp
[a-z]+
([a-z)(0-9)+
abcdefg|[0-7
\$|¢(0-9)
`;
```

Resultados

Haga lo siguiente:

1. Cargue los datos y abra una hoja. Cree una nueva tabla. Añada `reg_exp` como dimensión.

2. A continuación, añada la siguiente dimensión calculada:

   `=IsRegEx(reg_exp)`

   Se trata de una expresión de gráfico básica que muestra `-1` (verdadero) si la entrada es una expresión regular válida, y `0` (falso) si no lo es.

3. Añada otra dimensión calculada:

   `=if(IsRegEx(reg_exp), 'Valid regex', 'Invalid regex')`

   Se trata de una expresión condicional que ofrece más detalles sobre la validez de la entrada.

Tabla de resultados

| reg\_exp | =IsRegEx(reg\_exp) | =if(IsRegEx(reg\_exp), 'Valid regex', 'Invalid regex') |
| --- | --- | --- |
| ([a-z)(0-9)+ | 0 | Invalid regex |
| [a-z]+ | -1 | Valid regex |
| \$\|¢(0-9) | -1 | Valid regex |
| abcdefg\|[0-7 | 0 | Invalid regex |

## Más información

* [Trabajar con expresiones regulares en scripts de carga y expresiones de gráfico](https://help.qlik.com/es-ES/sense/November2025/Subsystems/Hub/Content/Sense_Hub/Scripting/regular-expressions-qlik-analytics.htm)