Rumah  >  Soal Jawab  >  teks badan

Mengenai penggunaan aksara circumflex '^'

<?php
header('Content-Type: text/html; charset=utf-8');
$pattern='/[^0-9A-Za-z_]/';
$string='! $@!#%$#^##';
if(preg_match($pattern, $string,$match)){
echo 'Matched, the result is:';
var_dump($match);
}
else {
bergema 'Tiada padanan';
}
?>

Output: Padan, hasilnya ialah: array(1) { [0]=> string(1) " }

Saya tidak faham $ Terdapat banyak rentetan yang tidak berada dalam julat [^0-9A-Za-z_], mengapa hanya satu '!' dikeluarkan?


WillWill2560 hari yang lalu2458

membalas semua(2)saya akan balas

  • 寻觅 beyond

    寻觅 beyond2017-11-09 12:58:41

    preg_match() hanya sepadan sekali jika ia sepadan dengan kandungan yang memenuhi syarat, ia akan kembali serta-merta dan tidak akan terus sepadan, walaupun terdapat kandungan lain yang memenuhi syarat nanti.

    balas
    0
  • 寻觅 beyond

    寻觅 beyond2017-11-09 12:57:35

    preg_match() hanya padan sekali. Jika ia sepadan dengan kandungan yang memenuhi syarat, ia tidak akan terus sepadan Jika anda ingin memadankan semua kandungan yang memenuhi syarat, anda boleh menggunakan preg_match_all($pattern, $string, $arr. ), $arr akan menyimpan kandungan yang dipadankan

    balas
    0
  • Batalbalas