re.regex

Anda dapat menentukan pencocokan ekspresi reguler di YARA-L 2.0 menggunakan salah satu sintaksis berikut:

  • Menggunakan sintaksis YARA-L — Terkait dengan peristiwa. Berikut adalah representasi generik dari sintaksis ini:

    $e.field = /regex/
    
  • Menggunakan sintaksis YARA-L — Sebagai fungsi yang menggunakan parameter berikut:

    • Kolom tempat ekspresi reguler diterapkan.
    • Regular expression yang ditentukan sebagai string.

    Berikut adalah representasi generik dari sintaksis ini:

    re.regex($e.field, `regex`)
    

Deskripsi

Fungsi ini menampilkan true jika string berisi substring yang cocok dengan ekspresi reguler yang diberikan. Tidak perlu menambahkan .* di awal atau di akhir ekspresi reguler.

Fungsi re.regex menggunakan mesin ekspresi reguler RE2.

Catatan
  • Untuk mencocokkan string yang sama persis atau hanya awalan atau akhiran, sertakan karakter anchor ^ (awal) dan $ (akhir) dalam ekspresi reguler. Misalnya, /^full$/ cocok dengan "full" secara persis, sedangkan /full/ dapat cocok dengan "fullest", "lawfull", dan "joyfully".
  • Jika kolom UDM menyertakan karakter baris baru, regexp hanya cocok dengan baris pertama kolom UDM. Untuk menerapkan pencocokan kolom UDM penuh, tambahkan (?s) ke ekspresi reguler. Misalnya, ganti /.*allUDM.*/ dengan /(?s).*allUDM.*/.
  • Anda dapat menggunakan pengubah nocase setelah string untuk menunjukkan bahwa penelusuran harus mengabaikan kapitalisasi.

Jenis data parameter

STRING, STRING

Jenis ekspresi param

ANY, ANY

Jenis nilai yang ditampilkan

BOOL

Contoh kode

Contoh 1
// Equivalent to $e.principal.hostname = /google/
re.regex($e.principal.hostname, "google")