Bagikan melalui


extract_all() (fungsi untuk mengekstrak semua data)

Beralih layanan menggunakan menu tarik-turun Versi. Pelajari selengkapnya tentang navigasi.
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,] sumber)

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

Contoh berikut mengekstrak tangkapan grup tunggal, 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"]

Contoh berikut menggunakan ekspresi reguler dengan tiga grup penangkapan 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"]]

Contoh berikut memilih subset penangkapan 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"]]

Contoh berikut menunjukkan bagaimana captureGroups menggunakan indeks grup tangkap 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"]]