Notitie
Voor toegang tot deze pagina is autorisatie vereist. U kunt proberen u aan te melden of de directory te wijzigen.
Voor toegang tot deze pagina is autorisatie vereist. U kunt proberen de mappen te wijzigen.
Van toepassing op: SQL Server 2025 (17.x) Preview
AzureSQL Database Azure SQL Managed Instance
SQL-database
in Microsoft Fabric Preview
Note
Omdat het om een preview-functie gaat, is de technologie die in dit artikel wordt behandeld onderhevig aan de Aanvullende gebruiksvoorwaarden voor Microsoft Azure Previews.
Retourneert een tabel met vastgelegde subtekenreeksen die overeenkomen met een normaal expressiepatroon met een tekenreeks. Als er geen overeenkomst wordt gevonden, retourneert de functie geen rij.
REGEXP_MATCHES
(
string_expression,
pattern_expression [, flags ]
)
Vereist databasecompatibiliteitsniveau 170. Als u het compatibiliteitsniveau van de database wilt instellen, controleert u het compatibiliteitsniveau ALTER DATABASE (Transact-SQL).
Note
Reguliere expressies zijn beschikbaar in Azure SQL Managed Instance met het sql Server 2025- of Always-up-to-datumupdatebeleid.
Arguments
string_expression
Een expressie van een tekenreeks.
Dit kan een constante, variabele of kolom van tekenreeks zijn.
Gegevenstypen: teken, nchar, varcharof nvarchar.
Note
De REGEXP_LIKEfuncties , REGEXP_COUNTen REGEXP_INSTR functies ondersteunen LOB-typen (varchar(max) en nvarchar(max)) tot 2 MB voor de parameter string_expression .
pattern_expression
Patroon voor reguliere expressies dat overeenkomt. Meestal een letterlijke tekst.
Gegevenstypen: teken, nchar, varcharof nvarchar. pattern_expression ondersteunt een maximale tekenlengte van 8.000 bytes.
flags
Een of meer tekens die de modifiers opgeven die worden gebruikt voor het zoeken naar overeenkomsten. Het type is varchar of teken, met maximaal 30 tekens.
Bijvoorbeeld: ims. De standaardwaarde is c. Als er een lege tekenreeks wordt opgegeven (' '), wordt deze behandeld als de standaardwaarde ('c'). Geef c of andere tekenexpressies op. Als de vlag meerdere tegenstrijdige tekens bevat, gebruikt SQL Server het laatste teken.
Als u bijvoorbeeld opgeeft ic de regex hoofdlettergevoelige overeenkomsten retourneert.
Als de waarde een ander teken bevat dan de waarden in Ondersteunde vlagwaarden, retourneert de query een fout zoals in het volgende voorbeeld:
Invalid flag provided. '<invalid character>' are not valid flags. Only {c,i,s,m} flags are valid.
Ondersteunde vlagwaarden
| Flag | Description |
|---|---|
i |
Hoofdlettergevoelig (standaard false) |
m |
Modus met meerdere regels: ^ en $ begin-/eindregel vergelijken naast begin-/eindtekst (standaard false) |
s |
Laten . overeenkomen \n (standaard false) |
c |
Hoofdlettergevoelig (standaard true) |
Returns
Retourneert een tabellair resultaat als volgt:
| Kolomnaam | Gegevenstype | Description |
|---|---|---|
match_id |
bigint | De volgorde van overeenkomende woorden. |
start_position |
int | Beginindexpositie. |
end_position |
int | Eindindexpositie. |
match_value |
Hetzelfde type als string_expression of varchar |
Overeenkomende expressie. |
substring_matches |
json | JSON-document waarin overeenkomst wordt beschreven. |
Examples
Retourneer tabellaire resultaten vanaf 'Learning #AzureSQL #AzureSQLDB' die begin met een # teken gevolgd door een of meer alfanumerieke tekens (A-Z, a-z, 0-9) of onderstrepingstekens (_).
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}]
Retourneert tekenreeksen uit ABC die overeenkomen met tekenreeksen die beginnen met de letter A , gevolgd door exact twee tekens.
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}]