Referensi PHP: Regex Cheat Sheet

Referensi PHP: Regex Cheat Sheet

Tutorial Information

ProgramPHP
Version5.3+
DifficultyPemula - Standar
Estimated Time10 menit

Pada artikel sebelumnya, Penulis telah membahas cukup panjang mengenai dasar-dasar Regex pada bahasa pemrograman PHP. Ada cukup banyak aturan-aturan dalam Regex, yang tentu cukup…

Pada artikel sebelumnya, Penulis telah membahas cukup panjang mengenai dasar-dasar Regex pada bahasa pemrograman PHP. Ada cukup banyak aturan-aturan dalam Regex, yang tentu cukup susah atau bahkan mustahil untuk diingat semuanya. Untuk itulah perlu dibuat semacam referensi singkat dan sederhana untuk media pengingat.

Biasanya, sarana yang populer adalah membuat cheat-sheet, atau lebih mudahnya “contekan”. Untuk memudahkan pembuatan program, berikut ini adalah contekan yang dapat Anda gunakan secara langsung.

Urutan Khusus

Alfabet dan angka merupakan karakter khusus yang berurutan. Cukup merepotkan bukan bila harus menulis [abcd sampai xyz] ataupun [a-z]? Sama seperti format lainnya, dalam regex juga dikenal escape character khusus untuk alfabet, angka, dan linebreak. Berikut ini adalah daftar contekan urutan karakter khusus yang berlaku pada regex.

  • \d – Untuk seluruh karakter berupa angka, sama seperti [0-9]
  • \D – Untuk seluruh karakter yang bukan angka, sama seperti [^0-9]
  • \s – Untuk karakter whitespace, sama seperti penulisan [\t\r\n\f\v]
  • \S – Untuk karakter non whitespace, sama seperti penulisan [^\t\r\n\f\v]
  • \w – Untuk semua karakter alpha-numeric, yaitu alfabet dan angka, sama seperti [a-zA-Z0-9_]
  • \W – Untuk semua karakter non alpha-numeric, sama seperti [^a-zA-Z0-9_]
  • titik – Semua karakter selain newline

Meta Characters

Untuk pencarian pola yang mengandung karakter meta, perlu diberikan perlakuan tersendiri. Karakter meta adalah karakter yang digunakan sebagai penanda Regex. Seperti contoh sebelumnya, salah satu contoh karakter meta adalah “^” dan “$”. Selain itu, beberapa karakter lainnya adalah titik “.”, asterik “*”, plus “+”, tanda tanya “?”, seluruh jenis tanda kurung, pipe “|”, dan backslash “\”.

Karena merupakan karakter meta, karakter ini tidak akan dibaca sebagai pola, melainkan hanya sebuah tanda operasi. Untuk memasukkannya sebagai karakter yang dicari dalam pola, Anda harus menambahkan karakter backslash “\” sebelum karakter meta. Backslash disebut juga sebagai escape character. Berikut ini contakannya:

  • ^ – Awal dari string
  • $ – Akhir dari string
  • [ – Pembuka untuk definisi kelas karakter
  • ] – Penutup untuk definisi kelas karakter
  • | – Alternatif, contohnya (a|b) berarti a atau b
  • ( – Pembuka subpattern
  • ) – Penutup subpattern
  • \ – Escape character

Quantifiers

  • n* – Nola tau lebih karakter n
  • n+ – Satu atau lebih karakter n
  • n? – Nola tau satu karakter n
  • {n} – Perulangan tepat n kali
  • {n,} – Perulangan minimal n kali
  • {n,m} – Perulangan antara n sampai m kali

Pattern Modifiers

  • i – Case Insensitive
  • m – Multiline mode – ^ dan $ untuk awal dan akhir dari baris
  • s – menyertakan new line dalam pola
  • x – untuk regex dengan komentar dan whitespace
  • e – evaluasi kode php (khusus fungsi preg_replace)
  • S – analisis tambahan terhadap pola
  • U – pencarian regex dengan metode ungreedy
  • u – pola dianggap sebagai format UTF-8

Point based assertions

  • \b – Word boundary
  • \B – bukan karakter word boundary
  • \A – awal dari subject
  • \Z – akhir dari subject, atau karakter new line
  • \z – akhir dari subject
  • \G – posisi yang sesuai di awal subject

Assertions

  • (?=) – Mengecek setelah kata yang dicari foo(?=bar) akan mencari “foo” yang diikuti “bar”
  •  (?!) – Mengecek setelah kata yang dicari, namun bernilai negatif, foo(?!bar) akan mencari foo yang tidak diikuti bar
  • (?<=) – Mengecek sebelum kata yang dicari (?<=foo)bar akan mencari “bar” yang diawali “foo”
  •  (?<!) – Mengecek sebelum kata yang dicari namun bernilai negatif, (?<!foo)bar akan mencari bar yang tidak diawali foo
  •  (?>) – hanya satu subpattern, (?>\d+)bar
  • (?(x)) – subpatterns kondisional
  •  (?(3)foo|fu)bar – Mencari “foo” jika subpattern ketiga sesuai, jika tidak maka “fu”
  •  (?#) – Komentar (?# Pattern does x y or z)

Penutup

Demikianlah contekan / cheat sheet yang dapat Anda gunakan sebagai referensi. Sekali lagi, bila Anda ingin membaca tutorial lengkapnya, bisa membuka artikel ini. Selamat mencoba.

Tag: , , , , , ,

Write Comment

Your email will not be published. The marked label is required.