⊗ppPmRgSHy 238 of 447 menu

Tanda Hubung dalam Set di Regular Expression PHP

Tanda hubung - juga merupakan karakter khusus di dalam [] (tetapi di luar - bukan). Jika Anda membutuhkan tanda hubung itu sendiri sebagai simbol - letakkan di posisi di mana dia tidak akan dianggap sebagai pemisah kelompok.

Mengapa ini penting: Anda dapat membuat grup karakter, tanpa menyadarinya. Misalnya, seperti ini - [:-@] - Anda pikir Anda memilih titik dua, tanda hubung, dan tanda @, padahal sebenarnya yang terbentuk adalah grup karakter antara : dan @. Grup ini mencakup karakter-karakter berikut: :, ;, ?, <, =, >.

Dari mana asalnya? Dari tabel ASCII - titik dua memiliki nomor yang lebih kecil daripada tanda @ - sehingga terbentuklah grup. Artinya semua grup terbentuk berdasarkan tabel ASCII (jika diinginkan, ini bisa dimanfaatkan).

Bagaimana mengatasinya: letakkan karakter tanda hubung di posisi yang pasti tidak akan dianggap sebagai karakter grup, misalnya, di awal atau di akhir (yaitu setelah [ atau sebelum ]).

Anda juga bisa meng-escape tanda hubung - maka ia akan mewakili dirinya sendiri terlepas dari posisinya. Misalnya, alih-alih [:-@], tulis [:\-@] - dan grup tidak akan terbentuk lagi, yang ada adalah tiga simbol - titik dua, tanda hubung, dan tanda @.

Contoh

Dalam contoh berikut, pola pencariannya adalah: angka 1, kemudian huruf dari 'a' sampai 'z', kemudian angka 2:

<?php $str = '1a2 1-2 1c2 1z2'; $res = preg_replace('#1[a-z]2#', '!', $str); ?>

Hasilnya, yang akan tersimpan dalam variabel adalah:

'! 1-2 ! !'

Contoh

Sekarang mari kita escape tanda hubung. Hasilnya pola pencariannya adalah: angka 1, kemudian huruf 'a', atau tanda hubung, atau huruf 'z', kemudian angka 2:

<?php $str = '1a2 1-2 1c2 1z2'; $res = preg_replace('#1[a\-z]2#', '!', $str); ?>

Hasilnya, yang akan tersimpan dalam variabel adalah:

'! ! 1c2 !'

Contoh

Anda bisa cukup memindahkan tanda hubung, tanpa meng-escape-nya:

<?php $str = '1a2 1-2 1c2 1z2'; $res = preg_replace('#1[az-]2#', '!', $str); ?>

Hasilnya, yang akan tersimpan dalam variabel adalah:

'! ! 1c2 !'

Contoh

Dalam contoh berikut, pola pencariannya adalah: karakter pertama - adalah huruf kecil atau tanda hubung '-', lalu dua huruf 'x':

<?php $str = 'axx Axx -xx @xx'; $res = preg_replace('#[a-z-]xx#', '!', $str); ?>

Hasilnya, yang akan tersimpan dalam variabel adalah:

'! Axx ! @xx'

Contoh

Dalam contoh berikut, pola pencariannya adalah: karakter pertama - adalah huruf kecil, huruf besar atau tanda hubung '-', lalu dua huruf 'x':

<?php $str = 'axx Axx -xx @xx'; $res = preg_replace('#[a-zA-Z-]xx#', '!', $str); ?>

Hasilnya, yang akan tersimpan dalam variabel adalah:

'! ! ! @xx'

Contoh

Anda bisa meletakkan tanda hubung di antara dua grup - di sana dia pasti tidak akan membuat grup lain:

<?php $str = 'axx 9xx -xx @xx'; $res = preg_replace('#[a-z-0-9]xx#', '!', $str); ?>

Hasilnya, yang akan tersimpan dalam variabel adalah:

'! ! ! @xx'

Tugas Praktis

Diberikan string:

<?php $str = 'xaz xBz xcz x-z x@z'; ?>

Temukan semua string sesuai pola berikut: huruf 'x', huruf besar atau huruf kecil atau tanda hubung, huruf 'z'.

Diberikan string:

<?php $str = 'xaz x$z x-z xcz x+z x%z x*z'; ?>

Temukan semua string sesuai pola berikut: huruf 'x', kemudian tanda dolar, atau tanda hubung atau tanda plus, lalu huruf 'z'.

Indonesia
AfrikaansAzərbaycanБългарскиবাংলাБеларускаяČeštinaDanskDeutschΕλληνικάEnglishEspañolEestiSuomiFrançaisहिन्दीMagyarՀայերենItaliano日本語ქართულიҚазақ한국어КыргызчаLietuviųLatviešuМакедонскиMelayuမြန်မာNederlandsNorskPolskiPortuguêsRomânăРусскийසිංහලSlovenčinaSlovenščinaShqipСрпскиSrpskiSvenskaKiswahiliТоҷикӣไทยTürkmenTürkçeЎзбекOʻzbekTiếng Việt
Kami menggunakan cookie untuk operasi situs, analitik, dan personalisasi. Pemrosesan data dilakukan sesuai dengan Kebijakan Privasi.
terima semua atur tolak