Ekspresi Regular Matching Sekumpulan Karakter dalam PHP

Matching Satu dari Beberapa Karakter

Ekspresi regularnya adalah karakter dalam tanda [  ].

Misal [ab], ini berarti kita bisa mencari karakter a atau b.

Contoh:

Saya mempunyai teks  “pegawai.xls,  laporan.xls, gajian.xls, absensi.xls”

Pertanyaan:

Bagaimana caranya agar saya dapat mengambil  akhiran wai.xls dan ran.xls saja dari teks diatas … ?

Jawaban:

Kamu bisa menggunakan expresi regular ‘/[wr]a.\.xls/’

Pembuktian

Buatlah satu file PHP bernama set.php dengan isi seperti dibawah ini:

<?php 

$teks=”pegawai.xls,  laporan.xls, gajian.xls, absensi.xls”;

preg_match_all(‘/[wr]a.\.xls/’,$teks, $match);

print_r($match);

?>

Keterangan:

  • Lihat pada ekspresi regular /[wr]a.\.xls/, kode [wr] berarti kita mencari huruf ‘w’ atau ‘r’ diikuti oleh huruf ‘a’ terus tanda titik berarti diikuti oleh karakter apapun, tanda ‘\.’ berarti diikuti oleh tanda titik, lalu diikuti oleh huruf ‘xls’.

Hasil:

Array ( [0] => Array ( [0] => wai.xls [1] => ran.xls ) )

Matching Range Karakter

Karakter Range terdiri dari:

  • [0-9], ini berarti karakter [0123456789]
  • [A-Z], ini berarti karakter dari A sampai Z
  • [a-z], ini berarti karakter dari a sampai z
  • [A-F], ini berarti karakter dari A sampai F

Range bisa dikombinasikan seperti:

[A-Z0-9]

Ekspresi regular ini sama seperti:

[ABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789]

Contoh:

Saya mempunyai kalimat “pegawai1, pegawai2, pegawai3, pegawai4”.

Pertanyaan:

Bagaimana mengambil semua pegawai menggunakan karakter range … ?

Jawaban:

Kamu bisa gunakan ekspresi regular ‘/pegawai[0-9]/’.

Pembuktian

<?php 

$teks=”pegawai1, pegawai2, pegawai3, pegawai4″;
preg_match_all(‘/pegawai[0-9]/’,$teks, $match);

print_r($match);

?>

Hasil:

Array ( [0] => Array ( [0] => pegawai1 [1] => pegawai2 [2] => pegawai3 [3] => pegawai4 ) )

Negasi Matching Satu dari Beberapa Karakter

Negasi disini berarti bukan yang diwakili tanda ^

Misal [^ab], Ekspresi regular ini berarti bukan huruf a atau huruf b.

Contoh:

Saya mempunyai teks  “pegawai.xls,  laporan.xls, gajian.xls, absensi.xls”

Pertanyaan:

Bagaimana caranya agar saya dapat mengambil  akhiran yang bukan wai.xls dan ran.xls saja dari teks diatas … ?

Jawaban:

Kamu bisa menggunakan expresi regular ‘/[^wr]..\.xls/’

Pembuktian

Buatlah satu file PHP bernama negasi.php dengan isi seperti dibawah ini:

<?php 

$teks=”pegawai.xls,  laporan.xls, gajian.xls, absensi.xls”;
preg_match_all(‘/[^wr]..\.xls/’,$teks, $match);
print_r($match);

?>

Hasil:

Array ( [0] => Array ( [0] => ian.xls [1] => nsi.xls ) )

Negasi Matching Range Karakter

Negasi disini berarti bukan yang diwakili tanda ^

Misal [^0-9], Ekspresi regular ini berarti bukan nilai dari [0123456789].

Contoh:

Saya mempunyai kalimat “pegawai1, pegawai2, pegawai3, pegawai4, pegawaiA, pegawaiB”.

Pertanyaan:

Bagaimana mengambil semua pegawai yang diakhiri huruf menggunakan negasi karakter range … ?

Jawaban:

Kamu bisa gunakan ekspresi regular ‘/pegawai[^0-9]/’.

Pembuktian

Buatlah satu file PHP bernama negasi_range.php dengan isi seperti dibawah ini:

<?php 

$teks=”pegawai1, pegawai2, pegawai3, pegawai4, pegawaiA, pegawaiB”;

preg_match_all(‘/pegawai[^0-9]/’,$teks, $match);
print_r($match);

?>

Hasil:

Array ( [0] => Array ( [0] => pegawaiA [1] => pegawaiB ) )

You may also like...

Leave a Reply

Your email address will not be published. Required fields are marked *