Kommentar
Åtkomst till den här sidan kräver auktorisering. Du kan prova att logga in eller ändra kataloger.
Åtkomst till den här sidan kräver auktorisering. Du kan prova att ändra kataloger.
Gäller för: SQL Server 2025 (17.x)
Azure SQL Database
Azure SQL Managed Instance
SQL Database i Microsoft Fabric
Funktionen med tabellvärda REGEXP_MATCHES reguljära uttryck returnerar en tabell med fångade delsträngar som matchar ett reguljärt uttrycksmönster med en sträng. Om ingen matchning hittas returnerar funktionen ingen rad.
REGEXP_MATCHES
(
string_expression,
pattern_expression [ , flags ]
)
Arguments
string_expression
Ett uttryck för en teckensträng.
Kan vara en konstant, variabel eller kolumn med teckensträng.
Datatyper: char, nchar, varchareller nvarchar.
Note
Funktionerna REGEXP_* stöder LOB-typer (varchar(max) och nvarchar(max)) upp till 2 MB för string_expression-parametern.
pattern_expression
Mönster för reguljära uttryck som ska matchas. Vanligtvis en textliteral.
Datatyper: char, nchar, varchareller nvarchar. pattern_expression stöder en maximal teckenlängd på 8 000 byte.
flags
Ett eller flera tecken som anger de modifierare som används för att söka efter matchningar. Typen är varchar eller tecken, med högst 30 tecken.
Till exempel ims. Standardvärdet är c. Om en tom sträng (' ') anges behandlas den som standardvärdet ('c'). Ange c eller andra teckenuttryck. Om flaggan innehåller flera motstridiga tecken använder SQL Server det sista tecknet.
Om du till exempel anger ic returnerar regex skiftlägeskänslig matchning.
Om värdet innehåller ett annat tecken än de som anges i flagga som stödsreturnerar frågan ett fel som liknar följande exempel:
Invalid flag provided. '<invalid character>' are not valid flags. Only {c,i,s,m} flags are valid.
Flaggvärden som stöds
| Flag | Description |
|---|---|
i |
Skiftlägesokänsligt (standard false) |
m |
Flerradsläge: ^ och $ matcha start-/slutlinje utöver start-/sluttext (standard false) |
s |
Låt . matcha \n (standard false) |
c |
Skiftlägeskänsligt (standard true) |
Returns
Returnerar ett tabellresultat enligt följande:
| Kolumnnamn | Datatyp | Description |
|---|---|---|
match_id |
bigint | Sekvensen med matchande ord. |
start_position |
int | Startar indexposition. |
end_position |
int | Slut på indexposition. |
match_value |
Samma typ som string_expression eller varchar |
Matchande uttryck. |
substring_matches |
json | JSON-dokument som beskriver matchning. |
Plattformsstöd
Kräver databaskompatibilitetsnivå 170. För att sätta databaskompatibilitetsnivån, granska ALTER DATABASE (Transact-SQL) kompatibilitetsnivå. Kompatibilitetskravet gäller inte om den ALLOW_BUILTIN_TVF_IN_ALL_COMPAT_LEVELS databasbegränsade konfigurationen är aktiverad.
- I Azure SQL Managed Instance finns T-SQL:s reguljära uttrycksfunktioner endast tillgängliga med policyn för uppdatering SQL Server 2025 eller Alltid-up-to-datum.
- T-SQL-reguljära uttrycksfunktioner finns tillgängliga i Azure SQL Database, SQL Database in Fabric och från och med SQL Server 2025.
- T-SQL-reguljära uttrycksfunktioner finns inte tillgängliga i SQL Server 2022 eller tidigare versioner.
- I Fabric Data Warehouse stöds inte de reguljära uttryckstabellvärden funktionerna
REGEXP_MATCHESoch REGEXP_SPLIT_TO_TABLE. T-SQL:s reguljära uttrycksskalärfunktioner finns tillgängliga som förhandsvisningsfunktion i Fabric Data Warehouse.
Examples
Returnera tabellresultat från 'Learning #AzureSQL #AzureSQLDB' den början med ett # tecken följt av ett eller flera alfanumeriska tecken (A-Z, a-z, 0-9) eller understreck (_).
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}]
Returnera strängar från ABC matchningssträngarna som börjar med bokstaven A följt av exakt två tecken.
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}]