Inversi Set Karakter dalam Regex
Dengan menggunakan tanda sisipan ^ di awal kurung siku
kita dapat membalikkan yang diinginkan. Artinya,
jika, misalnya, perintah [ab] mencari
huruf 'a' atau 'b', maka perintah
[^ab] akan mencari semua karakter, kecuali
'a' dan 'b'.
Contoh
Dalam contoh ini pola pencarian terlihat seperti ini:
huruf 'x', kemudian BUKAN huruf 'a',
bukan 'b' dan bukan 'c', lalu huruf
'z':
<?php
$str = 'xaz xbz xcz xez';
$res = preg_replace('#x[^abc]z#', '!', $str);
?>
Hasilnya, ke dalam variabel akan tercatat berikut ini:
'xaz xbz xcz !'
Contoh
Dalam contoh ini pola pencarian terlihat seperti ini:
huruf 'x', kemudian BUKAN huruf latin
kecil, lalu huruf 'z':
<?php
$str = 'xaz xbz x1z xCz';
$res = preg_replace('#x[^a-z]z#', '!', $str);
?>
Hasilnya, ke dalam variabel akan tercatat berikut ini:
'xaz xbz ! !'
Tugas Praktis
Tuliskan ekspresi reguler yang akan menemukan string
berdasarkan pola: angka '1', kemudian karakter
bukan 'e' dan bukan 'x', angka '2'.
Tuliskan ekspresi reguler yang akan menemukan string
berdasarkan pola: huruf 'x', kemudian BUKAN
angka dari 2 hingga 7, huruf 'z'.
Tuliskan ekspresi reguler yang akan menemukan string
berdasarkan pola: huruf 'x', kemudian BUKAN
huruf latin besar dari 1 kali atau lebih
kali, huruf 'z'.
Tuliskan ekspresi reguler yang akan menemukan string
berdasarkan pola: huruf 'x', kemudian bukan
huruf latin besar maupun kecil dan bukan angka
dari 1 hingga 5 dari 1 kali atau lebih
kali, huruf 'z'.