Nota:
El acceso a esta página requiere autorización. Puede intentar iniciar sesión o cambiar directorios.
El acceso a esta página requiere autorización. Puede intentar cambiar los directorios.
Se aplica a: SQL Server 2025 (17.x)
Base de datos SQL de Azure SQL Database
deAzure SQL Managed Instance
en Microsoft Fabric
Devuelve una tabla de subcadenas capturadas que coinciden con un patrón de expresión regular a una cadena. Si no se encuentra ninguna coincidencia, la función no devuelve ninguna fila.
REGEXP_MATCHES
(
string_expression,
pattern_expression [ , flags ]
)
Requiere el nivel de compatibilidad de la base de datos 170. Para establecer el nivel de compatibilidad de la base de datos, revise el nivel de compatibilidad de ALTER DATABASE (Transact-SQL).
Note
Las expresiones regulares están disponibles en Instancia administrada de Azure SQL con sql Server 2025 o la directiva de actualizaciónalways-up-to-date.
Arguments
string_expression
Expresión de una cadena de caracteres.
Puede ser una constante, variable o columna de cadena de caracteres.
Tipos de datos: char, nchar, varcharo nvarchar.
Note
Las REGEXP_LIKEfunciones , REGEXP_COUNTy REGEXP_INSTR admiten tipos loB (varchar(max) y nvarchar(max)) hasta 2 MB para el parámetro string_expression .
pattern_expression
Patrón de expresión regular que debe coincidir. Normalmente, un literal de texto.
Tipos de datos: char, nchar, varcharo nvarchar. pattern_expression admite una longitud máxima de caracteres de 8000 bytes.
flags
Uno o varios caracteres que especifican los modificadores usados para buscar coincidencias. El tipo es varchar o char, con un máximo de 30 caracteres.
Por ejemplo: ims. El valor predeterminado es c. Si se proporciona una cadena vacía (' '), se tratará como el valor predeterminado ('c'). Proporcione c o cualquier otra expresión de caracteres. Si la marca contiene varios caracteres contradictorios, SQL Server usa el último carácter.
Por ejemplo, si especifica ic la expresión regular devuelve coincidencias que distinguen mayúsculas de minúsculas.
Si el valor contiene un carácter distinto de los enumerados en Valores de marca admitidos, la consulta devuelve un error como el ejemplo siguiente:
Invalid flag provided. '<invalid character>' are not valid flags. Only {c,i,s,m} flags are valid.
Valores de marca admitidos
| Flag | Description |
|---|---|
i |
No distingue mayúsculas de minúsculas (valor predeterminado false) |
m |
Modo de varias líneas: ^ y $ coinciden con la línea de inicio y finalización, además del texto de inicio y finalización (valor predeterminado false) |
s |
Permitir que . coincida \n (valor predeterminado false) |
c |
Distingue mayúsculas de minúsculas (valor predeterminado true) |
Returns
Devuelve un resultado tabular como se indica a continuación:
| Nombre de la columna | Tipo de dato | Description |
|---|---|---|
match_id |
bigint | Secuencia de palabras coincidentes. |
start_position |
int | Posición inicial del índice. |
end_position |
int | Posición final del índice. |
match_value |
Mismo tipo que string_expression o varchar |
Expresión coincidente. |
substring_matches |
json | Documento JSON que describe la coincidencia. |
Examples
Devuelve resultados tabulares de 'Learning #AzureSQL #AzureSQLDB' ese principio con un # carácter seguido de uno o varios caracteres alfanuméricos (A-Z, a-z, 0-9) o caracteres de subrayado (_).
SELECT *
FROM REGEXP_MATCHES ('Learning #AzureSQL #AzureSQLDB', '#([A-Za-z0-9_]+)');
match_id start_position end_position match_value substring_matches
1 10 18 #AzureSQL [{"value":"AzureSQL","start":11,"length":8}]
2 20 30 #AzureSQLDB [{"value":"AzureSQLDB","start":21,"length":10}]
Devuelve cadenas de ABC que coinciden con cadenas que comienzan con la letra A seguida de exactamente dos caracteres.
SELECT *
FROM REGEXP_MATCHES ('ABC', '^(A)(..)$');
match_id start_position end_position match_value substring_matches
1 1 3 ABC [{"value":"A","start":1,"length":1},{"value":"BC","start":2,"length":2}]