Bagikan melalui


extract_all()

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"]]