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 tangkapan dalam tanda kurung. Jika ekspresi reguler berisi 0 grup tangkapan, fungsi akan menampilkan substring yang cocok secara keseluruhan pertama. Jika ekspresi reguler berisi 1 grup tangkapan, fungsi ini akan menampilkan substring pertama yang cocok untuk grup tangkapan. Menentukan dua atau lebih banyak grup pengambilan akan menampilkan error compiler.
Jenis data parameter
STRING
, STRING
Jenis hasil yang ditampilkan
STRING
Contoh kode
Contoh 1
Dalam contoh ini, jika $e.principal.hostname
berisi "aaa1bbaa2", pernyataan berikut akan benar, karena fungsi
menampilkan instance pertama. Contoh ini tidak memiliki grup tangkapan.
"aaa1" = re.capture($e.principal.hostname, "a+[1-9]")
Contoh 2
Contoh ini mengambil semua teks 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 , "@(.*)")