Not
Bu sayfaya erişim yetkilendirme gerektiriyor. Oturum açmayı veya dizinleri değiştirmeyi deneyebilirsiniz.
Bu sayfaya erişim yetkilendirme gerektiriyor. Dizinleri değiştirmeyi deneyebilirsiniz.
Şunlar için geçerlidir: SQL Server 2025 (17.x)
Microsoft Fabric'te
Azure SQL Veritabanı
Azure SQL Yönetilen Örneği SQL veritabanı
Bir diziye düzenli ifade deseniyle eşleşen yakalanan alt dizilerle bir tablo döndürür. Eşleşme bulunmazsa işlev satır döndürmez.
REGEXP_MATCHES
(
string_expression,
pattern_expression [ , flags ]
)
Veritabanı uyumluluk düzeyi 170 gerektirir. Veritabanı uyumluluk düzeyini ayarlamak için ALTER DATABASE (Transact-SQL) uyumluluk düzeyini gözden geçirin.
Note
Normal ifadeler Azure SQL Yönetilen Örneği'nde SQL Server 2025 veya Always-up-to-dategüncelleştirme ilkesiyle kullanılabilir.
Arguments
string_expression
Karakter dizesinin ifadesi.
Sabit, değişken veya karakter dizesi sütunu olabilir.
Veri türleri: char, nchar, varchar veya nvarchar.
Note
REGEXP_LIKE, REGEXP_COUNTve REGEXP_INSTR işlevleri, string_expression parametresi için 2 MB'a kadar LOB türlerini (varchar(max) ve nvarchar(max)) destekler.
pattern_expression
Eşleşecek normal ifade deseni. Genellikle bir metin değişmez değeridir.
Veri türleri: char, nchar, varchar veya nvarchar. pattern_expression en fazla 8.000 bayt karakter uzunluğunu destekler.
flags
Eşleşmeleri aramak için kullanılan değiştiricileri belirten bir veya daha fazla karakter. Tür, en fazla 30 karakter içeren varchar veya char'tır.
Örneğin, ims. Varsayılan değer: c. Boş bir dize (' ') sağlanırsa, varsayılan değer ('c')olarak değerlendirilir. Veya c diğer karakter ifadelerini sağlayın. Bayrak birden çok çelişkili karakter içeriyorsa, SQL Server son karakteri kullanır.
Örneğin, regex değerini belirtirseniz ic büyük/küçük harfe duyarlı eşleştirme döndürür.
Değer , Desteklenen bayrak değerleri'nde listelenenlerden farklı bir karakter içeriyorsa, sorgu aşağıdaki örneğe benzer bir hata döndürür:
Invalid flag provided. '<invalid character>' are not valid flags. Only {c,i,s,m} flags are valid.
Desteklenen bayrak değerleri
| Flag | Description |
|---|---|
i |
Büyük/küçük harfe duyarlı değil (varsayılan false) |
m |
Çok satırlı mod: ^ ve $ başlangıç/bitiş metnine ek olarak başlangıç/bitiş satırını eşleştir (varsayılan false) |
s |
Eşleşmeye . izin ver \n (varsayılan false) |
c |
Büyük/küçük harfe duyarlı (varsayılan true) |
Returns
Aşağıdaki gibi tablosal bir sonuç döndürür:
| Sütun adı | Veri türü | Description |
|---|---|---|
match_id |
bigint | Eşleşen sözcüklerin dizisi. |
start_position |
int | Dizin konumu başlatılıyor. |
end_position |
int | Dizin konumu sona eriyor. |
match_value |
veya string_expression ile aynı tür |
Eşleşen ifade. |
substring_matches |
json | Eşleşmeyi açıklayan JSON belgesi. |
Examples
Bir karakterle 'Learning #AzureSQL #AzureSQLDB' başlayan ve ardından bir # veya daha fazla alfasayısal karakter () veya alt çizgi (A-Z, a-z, 0-9_ ) içeren tablosal sonuçlar döndür.
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}]
Bu dizelerden gelen ABC dizeleri, harfin A ardından tam olarak iki karakterle başlayan dizelerle eşleştirin.
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}]
İlgili içerik
- normal ifadeleri
- Normal ifade işlevleri (Transact-SQL)