Simbol Tanda Pangkat di Dalam Set dalam Regex PHP
Seperti yang Anda ketahui, tanda pangkat di dalam [] membuat
negasi, jika ditulis di awal kurung.
Itu artinya, ia adalah karakter khusus di dalam
kurung ini. Untuk mendapatkan tanda pangkat sebagai simbol,
perlu di-escape atau dipindahkan dari
posisi pertama.
Contoh
Dalam contoh berikut, pola pencariannya adalah:
karakter pertama adalah semua kecuali 'd',
lalu dua huruf 'x'.
<?php
$str = 'axx bxx ^xx dxx';
$res = preg_replace('#[^d]xx#', '!', $str);
?>
Hasilnya, yang akan tersimpan dalam variabel adalah:
'! ! ! dxx'
Contoh
Dan sekarang pola pencariannya adalah: karakter pertama
- adalah 'd' atau '^', lalu dua
huruf 'x':
<?php
$str = 'axx bxx ^xx dxx';
$res = preg_replace('#[d^]xx#', '!', $str);
?>
Hasilnya, yang akan tersimpan dalam variabel adalah:
'axx bxx ! !'
Contoh
Anda tidak perlu memindahkan tanda pangkat dari posisi pertama, tapi cukup meng-escape-nya menggunakan backslash (tanda garis miring terbalik), dan ia akan mewakili dirinya sendiri:
<?php
$str = 'axx bxx ^xx dxx';
$res = preg_replace('#[\^d]xx#', '!', $str);
?>
Hasilnya, yang akan tersimpan dalam variabel adalah:
'axx bxx ! !'
Tugas Praktis
Diberikan string:
<?php
$str = '^xx axx ^zz bkk @ss';
?>
Tuliskan regex yang akan menemukan string berdasarkan pola: tanda pangkat atau tanda @, lalu dua huruf Latin.
Diberikan string:
<?php
$str = '^xx axx ^zz bkk @ss';
?>
Tuliskan regex yang akan menemukan string berdasarkan pola: BUKAN tanda pangkat dan bukan tanda @, lalu dua huruf Latin.
Diberikan string:
<?php
$str = '^xx axx ^zz bkk';
?>
Tuliskan regex yang akan menemukan string berdasarkan pola: BUKAN tanda pangkat, lalu dua huruf Latin.