RegexMatch (consulta NoSQL)
SE APLICA A: NoSQL
Esta función proporciona funcionalidades de expresión regular. Las expresiones regulares son una notación concisa y flexible para buscar patrones de texto.
Nota
Azure Cosmos DB for NoSQL usa expresiones regulares compatibles con PERL (PCRE).
Sintaxis
RegexMatch(<string_expr_1>, <string_expr_2>, [, <string_expr_3>])
Argumentos
Descripción | |
---|---|
string_expr_1 |
Expresión de cadena que se va a buscar. |
string_expr_2 |
Expresión de cadena con una expresión regular definida que se usará al buscar string_expr_1 . |
string_expr_3 (Opcional) |
Expresión de cadena opcional con los modificadores seleccionados que se van a usar con la expresión regular (string_expr_2 ). Si no se proporciona, el valor predeterminado es ejecutar la coincidencia de expresión regular sin modificadores. |
Nota
Proporcionar una cadena vacía para string_expr_3
es funcionalmente equivalente a omitir el argumento.
Tipos de valores devueltos
Devuelve una expresión booleana.
Ejemplos
El siguiente ejemplo ilustra las coincidencias de expresiones regulares usando algunos modificadores diferentes.
SELECT VALUE {
noModifiers: RegexMatch("abcd", "ABC"),
caseInsensitive: RegexMatch("abcd", "ABC", "i"),
wildcardCharacter: RegexMatch("abcd", "ab.", ""),
ignoreWhiteSpace: RegexMatch("abcd", "ab c", "x"),
caseInsensitiveAndIgnoreWhiteSpace: RegexMatch("abcd", "aB c", "ix"),
containNumberBetweenZeroAndNine: RegexMatch("03a", "[0-9]"),
containPrefix: RegexMatch("salt3824908", "salt{1}"),
containsFiveLetterWordStartingWithS: RegexMatch("shame", "s....", "i")
}
[
{
"noModifiers": false,
"caseInsensitive": true,
"wildcardCharacter": true,
"ignoreWhiteSpace": true,
"caseInsensitiveAndIgnoreWhiteSpace": true,
"containNumberBetweenZeroAndNine": true,
"containPrefix": true,
"containsFiveLetterWordStartingWithS": true
}
]
En el ejemplo siguiente se supone que tiene un contenedor con elementos que incluyen un name
campo.
[
{
"name": "Tecozow coat",
"category": "winter-coats"
},
{
"name": "Bladnick coat",
"category": "winter-coats"
},
{
"name": "Anidin heavy jacket",
"category": "winter-coats"
}
]
En este ejemplo se usa una coincidencia de expresión regular como filtro para devolver un subconjunto de elementos.
SELECT VALUE
p.name
FROM
products p
WHERE
p.category = "winter-coats" AND
RegexMatch(p.name, " coat{1}")
[
"Tecozow coat",
"Bladnick coat"
]
Comentarios
- Esta función solo se beneficia de un índice de rango si la expresión regular puede descomponerse en
StartsWith
,EndsWith
,Contains
, oStringEquals
funciones de sistema equivalentes. - Devuelve
undefined
si la expresión de cadena que se va a buscar (string_expr_1
), la expresión regular (string_expr_2
) o los modificadores seleccionados (string_expr_3
) no son válidos. - Esta función admite los cuatro modificadores siguientes: | | Formato | Descripción | | --- | --- | --- | | Varias líneas |
m
| Trate la expresión de cadena que se va a buscar como varias líneas. Sin esta opción, los caracteres^
y$
coincidirán al principio o al final de la cadena y no en cada línea individual. | | Coincidir con cualquier cadena |s
| Permitir que "." coincida con cualquier carácter, incluido un carácter de nueva línea. | | Ignorar mayúsculas y minúsculas |i
| Ignorar mayúsculas y minúsculas al comparar patrones. | | Omitir espacios en blanco |x
| Omita todos los caracteres de espacio en blanco. | - Si tiene que usar un metacarácter en una expresión regular y no desea que tenga un significado especial, debe usar el metacarácter como carácter de escape mediante
\
.
Contenido relacionado
- System functions (Funciones del sistema)
IS_STRING