re.capture
re.capture(stringText, regex)
Deskripsi
Mengambil (mengekstraksi) data dari string menggunakan pola ekspresi reguler yang diberikan dalam argumen.
Fungsi ini menggunakan dua argumen:
stringText: string asli yang akan dicari.regex: ekspresi reguler yang menunjukkan pola yang akan dicari.
Ekspresi reguler dapat berisi 0 atau 1 grup pengambilan dalam tanda kurung. Jika ekspresi reguler berisi 0 grup pengambilan, fungsi akan menampilkan seluruh substring yang cocok pertama. Jika ekspresi reguler berisi 1 grup tangkapan, fungsi ini akan menampilkan substring pertama yang cocok untuk grup tangkapan. Menentukan dua atau lebih grup pengambilan akan menampilkan error compiler.
Jenis data parameter
STRING, STRING
Jenis nilai yang ditampilkan
STRING
Contoh kode
Contoh 1
Dalam contoh ini, jika $e.principal.hostname berisi "aaa1bbaa2", pernyataan berikut akan bernilai benar, karena fungsi
menampilkan instance pertama. Contoh ini tidak memiliki grup pengambilan.
"aaa1" = re.capture($e.principal.hostname, "a+[1-9]")
Contoh 2
Contoh ini mengambil semua yang ada setelah simbol @ dalam email. Jika kolom
$e.network.email.from adalah test@google.com, contoh akan menampilkan
google.com. Contoh berikut berisi satu grup tangkapan.
"google.com" = re.capture($e.network.email.from , "@(.*)")
Contoh 3
Jika ekspresi reguler tidak cocok dengan substring apa pun dalam teks, fungsi akan menampilkan string kosong. Anda dapat menghilangkan peristiwa yang tidak cocok
dengan mengecualikan string kosong, yang sangat penting saat Anda
menggunakan re.capture() dengan ketidaksetaraan:
// Exclude the empty string to omit events where no match occurs.
"" != re.capture($e.network.email.from , "@(.*)")
// Exclude a specific string with an inequality.
"google.com" != re.capture($e.network.email.from , "@(.*)")