extract_all()
Berlaku untuk: ✅Microsoft Fabric✅Azure Data Explorer✅Azure Monitor✅Microsoft Sentinel
Dapatkan semua kecocokan untuk regex dari string sumber. Secara opsional, ambil subset grup yang cocok.
print extract_all(@"(\d+)", "a set of numbers: 123, 567 and 789") // results with the dynamic array ["123", "567", "789"]
Alias yang tidak digunakan lagi: extractall()
Sintaks
extract_all(
regex,
[captureGroups,
] source)
Pelajari selengkapnya tentang konvensi sintaksis.
Parameter
Nama | Tipe | Wajib | Deskripsi |
---|---|---|---|
regex | string |
✔️ | Regex yang berisi antara satu dan 16 grup pengambil. |
captureGroups | dynamic |
Array yang menunjukkan grup pengambilan untuk diekstrak. Nilai yang valid adalah dari 1 hingga jumlah grup penangkap dalam ekspresi reguler. Grup penangkapan bernama juga diizinkan. Lihat contoh. | |
sumber | string |
✔️ | String yang akan dicari. |
Mengembalikan
- Jika regex menemukan kecocokan di sumber: Mengembalikan array dinamis termasuk semua kecocokan terhadap grup tangkapan yang ditunjukkan captureGroups, atau semua grup penangkap di regex.
- Jika jumlah captureGroups adalah 1: Array yang dikembalikan memiliki satu dimensi nilai yang cocok.
- Jika jumlah captureGroups lebih dari 1: Array yang dikembalikan adalah kumpulan dua dimensi kecocokan multi-nilai per pilihan captureGroups, atau semua grup ambil ada di regex jika captureGroups dihilangkan.
- Jika tidak ada kecocokan:
null
.
Contoh
Mengekstrak satu grup pengambilan
Kueri berikut mengembalikan representasi hex-byte (dua digit heksa) dari GUID.
print Id="82b8be2d-dfa7-4bd1-8f63-24ad26d31449"
| extend guid_bytes = extract_all(@"([\da-f]{2})", Id)
Hasil
ID | guid_bytes |
---|---|
82b8be2d-dfa7-4bd1-8f63-24ad26d31449 | ["82","b8","be","2d","df","a7","4b","d1","8f","63","24","ad","26","d3","14","49"] |
Mengekstrak beberapa grup ambil
Kueri berikut menggunakan ekspresi reguler dengan tiga grup pengambilan untuk membagi setiap bagian GUID menjadi huruf pertama, huruf terakhir, dan apa pun yang ada di tengah.
print Id="82b8be2d-dfa7-4bd1-8f63-24ad26d31449"
| extend guid_bytes = extract_all(@"(\w)(\w+)(\w)", Id)
Hasil
ID | guid_bytes |
---|---|
82b8be2d-dfa7-4bd1-8f63-24ad26d31449 | [["8","2b8be2","d"],["d","fa","7"],["4","bd","1"],["8","f6","3"],["2","4ad26d3144","9"]] |
Mengekstrak subset grup pengambil
Kueri berikut memilih subset menangkap grup.
Regex cocok dengan huruf pertama, huruf terakhir, dan yang lainnya.
Parameter captureGroups hanya digunakan untuk memilih bagian pertama dan terakhir.
print Id="82b8be2d-dfa7-4bd1-8f63-24ad26d31449"
| extend guid_bytes = extract_all(@"(\w)(\w+)(\w)", dynamic([1,3]), Id)
Hasil
ID | guid_bytes |
---|---|
82b8be2d-dfa7-4bd1-8f63-24ad26d31449 | [["8","d"],["d","7"],["4","1"],["8","3"],["2","9"]] |
Menggunakan grup pengambil bernama
CaptureGroups dalam kueri berikut menggunakan indeks grup pengambilan dan referensi grup pengambilan bernama untuk mengambil nilai yang cocok.
print Id="82b8be2d-dfa7-4bd1-8f63-24ad26d31449"
| extend guid_bytes = extract_all(@"(?P<first>\w)(?P<middle>\w+)(?P<last>\w)", dynamic(['first',2,'last']), Id)
Hasil
ID | guid_bytes |
---|---|
82b8be2d-dfa7-4bd1-8f63-24ad26d31449 | [["8","2b8be2","d"],["d","fa","7"],["4","bd","1"],["8","f6","3"],["2","4ad26d3144","9"]] |