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
La REGEXP_MATCHES función de expresión regular con valores de tabla devuelve una tabla de subcadenas capturadas que coinciden con un patrón de expresión regular con una cadena. Si no se encuentra ninguna coincidencia, la función no devuelve ninguna fila.
REGEXP_MATCHES
(
string_expression,
pattern_expression [ , flags ]
)
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_* funciones soportan 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. |
Compatibilidad con la plataforma
Requiere el nivel de compatibilidad de la base de datos 170. Para establecer el nivel de compatibilidad de la base de datos, revisa ALTER DATABASE (Transact-SQL) nivel de compatibilidad. El requisito de nivel de compatibilidad no se aplica si la configuración ALLOW_BUILTIN_TVF_IN_ALL_COMPAT_LEVELS con alcance de base de datos está habilitada.
- En Azure SQL Managed Instance, las funciones de expresión regular de T-SQL están disponibles solo con la política de actualización de fecha SQL Server 2025 o Always-up-to.
- Las funciones de expresión regular de T-SQL están disponibles en Azure SQL Database, SQL Database en Fabric y a partir de SQL Server 2025.
- Las funciones de expresión regular de T-SQL no están disponibles en SQL Server 2022 ni en versiones anteriores.
- En Fabric Data Warehouse, las funciones
REGEXP_MATCHEScon valores de tabla de expresión regular y REGEXP_SPLIT_TO_TABLE no están soportadas. Las funciones escalares de expresiones regulares de T-SQL están disponibles como función de vista previa en Fabric Data Warehouse.
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}]