Catatan
Akses ke halaman ini memerlukan otorisasi. Anda dapat mencoba masuk atau mengubah direktori.
Akses ke halaman ini memerlukan otorisasi. Anda dapat mencoba mengubah direktori.
Berlaku untuk: Database SQL SQL Server 2025 (17.x)
Azure SQL Database
Azure SQL Managed Instance
di Microsoft Fabric
Mengembalikan tabel substring yang diambil yang cocok dengan pola ekspresi reguler ke string. Jika tidak ada kecocokan yang ditemukan, fungsi tidak mengembalikan baris.
REGEXP_MATCHES
(
string_expression,
pattern_expression [ , flags ]
)
Memerlukan tingkat kompatibilitas database 170. Untuk mengatur tingkat kompatibilitas database, tinjau tingkat kompatibilitas ALTER DATABASE (Transact-SQL).
Note
Ekspresi reguler tersedia di Azure SQL Managed Instance dengan kebijakan pembaruanSQL Server 2025 atau Always-up-to-date.
Arguments
string_expression
Ekspresi string karakter.
Bisa berupa konstanta, variabel, atau kolom string karakter.
Jenis data: karakter, nchar, varchar , atau nvarchar.
Note
Fungsi REGEXP_LIKE, REGEXP_COUNT, dan REGEXP_INSTR mendukung jenis LOB (varchar(max) dan nvarchar(max)) hingga 2 MB untuk parameter string_expression .
pattern_expression
Pola ekspresi reguler untuk dicocokkan. Biasanya teks harfiah.
Jenis data: karakter, nchar, varchar , atau nvarchar. pattern_expression mendukung panjang karakter maksimum 8.000 byte.
flags
Satu atau beberapa karakter yang menentukan pengubah yang digunakan untuk mencari kecocokan. Jenisnya varchar atau karakter, dengan maksimum 30 karakter.
Contohnya, ims. Defaultnya adalah c. Jika string kosong (' ') disediakan, string tersebut akan diperlakukan sebagai nilai default ('c'). Berikan c atau ekspresi karakter lainnya. Jika bendera berisi beberapa karakter kontradiktif, maka SQL Server menggunakan karakter terakhir.
Misalnya, jika Anda menentukan ic regex mengembalikan pencocokan peka huruf besar/kecil.
Jika nilai berisi karakter selain yang tercantum di Nilai bendera yang didukung, kueri mengembalikan kesalahan seperti contoh berikut:
Invalid flag provided. '<invalid character>' are not valid flags. Only {c,i,s,m} flags are valid.
Nilai bendera yang didukung
| Flag | Description |
|---|---|
i |
Tidak peka huruf besar/kecil (default false) |
m |
Mode multibaris: ^ dan $ cocokkan baris awal/akhir selain teks awal/akhir (default false) |
s |
Biarkan . cocok \n (default false) |
c |
Peka huruf besar/kecil (default true) |
Returns
Mengembalikan hasil tabular sebagai berikut:
| Nama kolom | Jenis data | Description |
|---|---|---|
match_id |
bigint | Urutan kata yang cocok. |
start_position |
int | Memulai posisi indeks. |
end_position |
int | Mengakhiri posisi indeks. |
match_value |
Jenis yang sama seperti string_expression atau varchar |
Ekspresi yang cocok. |
substring_matches |
json | Dokumen JSON yang menjelaskan kecocokan. |
Examples
Mengembalikan hasil tabular dari 'Learning #AzureSQL #AzureSQLDB' yang dimulai dengan # karakter diikuti oleh satu atau beberapa karakter alfanumerik (A-Z, a-z, 0-9) atau garis bawah (_).
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}]
Mengembalikan string dari ABC string yang cocok yang dimulai dengan huruf A diikuti dengan tepat dua karakter.
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}]
Konten terkait
- ekspresi reguler
- fungsi ekspresi reguler (Transact-SQL)