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 , "@(.*)")