Expresiones Regulares
Descripción General
Una expresión regular es una notación o, específicamente, una secuencia de símbolos y caracteres que expresan una cadena o un patrón. Generalmente se utilizan en el área de SQL empresarial. App Builder para validar la entrada del usuario o limitar/encontrar un patrón específico dentro de un fragmento de texto grande.
Siempre que se utiliza LIKE en una cláusula where con un comodín (%
), estás usando expresiones regulares. Es posible que estés familiarizado con la declaración WHERE MyField LIKE 'ABCD%'
, pero también puedes usar corchetes para buscar un rango WHERE MyField LIKE '[A-B][CD][A-Z][ARIZONA]%'
que devolverá cualquier registro con una combinación de A o B como primer carácter, C o D como segundo, cualquier carácter alfabético en los dos caracteres siguientes y cualquier otra cosa al final.
La misma estructura de expresiones regulares se aplica a los números. Si está filtrando un rango de valores, por ejemplo, 900-919, puede filtrar WHERE MyField IN ('900', '901', '902'... etc)
pero es más limpio de usar WHERE MyField LIKE '9[0-1][0-9]'
(aquí se trata de campos de cadena, no numéricos). Puede encontrar números de teléfono que se ajusten al patrón. WHERE MyField LIKE '[0-9][0-9][0-9]-[0-9][0-9][0-9]-[0-9][0-9][0-9][0-9]'
A continuación se muestra un ejemplo similar al ejemplo anterior, en el que, en este caso, la expresión valida si los registros en FieldValue contienen las cadenas de caracteres 900S, 901S, 902S, ..., 919S.
También puedes utilizar el ^
carácter que representa NO en la cadena WHERE MyField LIKE '[^0-9]%'
que devolverá registros con un carácter no numérico como primer carácter, seguido de cualquier otra cosa. WHERE MyField LIKE '[A-Z][^De la A a la Z]'
devolverá registros con dos caracteres, siendo el primero alfabético y el segundo no alfabético.
Nota
App Builder no admite el carácter '+' al utilizar LIKE
para Regex. Si desea utilizar este carácter, puede hacerlo mediante el complemento de validación de Regex.
Hay un MONTON de otras herramientas poderosas dentro de las expresiones regulares que se pueden usar con App Builder - Los que se mencionan en este artículo son algunos de los más comunes. Aquí hay un enlace a un tutorial si desea obtener más información: https://www.mssqltips.com/sqlservertutorial/9108/precise-alphabetic-filtering-with-regular-expressions-for-tsql/