# Expresiones regulares en filtros

Puede aplicar una expresión regular a cualquier variable de filtro que sea un tipo de datos de cadena.

Puede devolver si una regex coincide: /<regex>/.test(<variable>)

- /DF\d\d\d\d/.test(sample_name) // Devuelve verdadero si el nombre de la muestra de la vista coincide con la regex DF\d\d\d\d.

También puede utilizar una cadena de captura y comparar la cadena capturada con otra cadena: /<regex(capture)>/.extract(<variable>), que devuelve la cadena capturada.

- /DF(\d\d\d\d)/.extract(sample_name) = '1234' // Captura los cuatro dígitos de la regex y los prueba respecto a '1234'.

Nota:

- Los ejemplos anteriores utilizan la variable a nivel de vista sample_name, que evalúa como una cadena. Si intenta usar una variable de eje de tipo de datos de cadena, esas variables pueden evaluarse como un vector de cadenas, ya que puede haber múltiples instancias de la variable de eje dentro de una única vista. En este caso, se debe aplicar la regex dentro del filtro del eje, como se muestra a continuación:

  match[/FH\d\d\d/.test(feature_string)] // Para esta expresión, se aplica la regex para cada feature_string de la coincidencia. La vista se incluirá si cualquiera de la feature_string coincide con la regex.

  El siguiente es un ejemplo de una expresión de filtro regex no válida:

  /FH\d\d\d\d/.test (match/feature_string) // La expresión debería devolver verdadero si la vista incluye una coincidencia con una feature_string que coincida con la regex. Sin embargo, esta no es válida, porque cada vista puede tener varias coincidencias.

- No se puede utilizar la variable sets en una expresión regular.