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<?php
  $str = 'axx bxx ^xx dxx';
  $res = preg_replace('#[^d]xx#', '!', $str);
?>

Hasilnya, yang akan tersimpan dalam variabel adalah:

php'! ! ! dxx'

Contoh

Dan sekarang pola pencariannya adalah: karakter pertama - adalah 'd' atau '^', lalu dua huruf 'x':

php<?php
  $str = 'axx bxx ^xx dxx';
  $res = preg_replace('#[d^]xx#', '!', $str);
?>

Hasilnya, yang akan tersimpan dalam variabel adalah:

php'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<?php
  $str = 'axx bxx ^xx dxx';
  $res = preg_replace('#[\^d]xx#', '!', $str);
?>

Hasilnya, yang akan tersimpan dalam variabel adalah:

php'axx bxx ! !'

Tugas Praktis

Задание 1

Diberikan string:

php<?php
  $str = '^xx axx ^zz bkk @ss';
?>

Tuliskan regex yang akan menemukan string berdasarkan pola: tanda pangkat atau tanda @, lalu dua huruf Latin.

Задание 2

Diberikan string:

php<?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.

Задание 3

Diberikan string:

php<?php
  $str = '^xx axx ^zz bkk';
?>

Tuliskan regex yang akan menemukan string berdasarkan pola: BUKAN tanda pangkat, lalu dua huruf Latin.