Tutorial pembangunan PHP asas: Atom dalam ungkapan biasa
1. Atom
Atom ialah unit terkecil dalam ungkapan biasa, atom ialah kandungan yang perlu dipadankan. Ungkapan biasa yang sah mesti mengandungi sekurang-kurangnya satu atom.
Semua aksara yang kelihatan dan tidak kelihatan ialah atom
Nota: Ruang, pemulangan gerabak, suapan baris, 0-9, A-Za-z, Cina dan tanda baca yang kita lihat , simbol khas adalah semua atom.
Sebelum melakukan contoh atom, mari kita jelaskan fungsi, preg_match:
Sintaks:
int preg_match ( string $regular , rentetan $string[, tatasusunan &$hasil] )
Fungsi: Padankan pembolehubah $rentetan berdasarkan $pembolehubah biasa. Jika wujud, kembalikan bilangan padanan dan letakkan hasil yang sepadan ke dalam pembolehubah $result. Jika tiada hasil yang sepadan ditemui, kembalikan 0
Nota: Di atas adalah parameter utama yang biasa digunakan oleh preg_match. Saya tidak menyenaraikan beberapa parameter lain di atas. Kerana dua parameter lain terlalu jarang berlaku.
Mari sahkan melalui program:
Contoh: Kod adalah seperti berikut
<?php //定义一个变量pattern,存放正则表达式 $pattern = '/a/'; //待搜素字段 $string = 'ddfdjjvi2jfvkwkfi24'; //判断,如果匹配到了,输出$matcges的值 if(preg_match($pattern, $string, $matches)){ echo '匹配到了,结果为:'; var_dump($matches); }else{ echo '没有匹配到'; } ?>
Hasil:
Oleh kerana apa yang saya mahu adalah padankan dengan a, dan $string tidak wujud sebagai a, jadi ia gagal.
Ubah contoh ini
Contoh: Kod adalah seperti berikut
<?php //定义一个变量pattern,存放正则表达式 $pattern = '/f/'; //待搜素字段 $string = 'ddfdjjvi2jfvkwkfi24'; //判断,如果匹配到了,输出$matcges的值 if(preg_match($pattern, $string, $matches)){ echo '匹配到了,结果为:'; var_dump($matches); }else{ echo '没有匹配到'; } ?>
Hasil:
The rentetan di atas Terdapat f di dalamnya, jadi perlawanan itu berjaya
Seterusnya kita cuba memadankan ruang:
Contoh: seperti berikut
<?php $zz = '/ /'; $string = 'sssssw aaaaa'; if(preg_match($zz, $string, $matches)){ echo '匹配到了,结果为:'; var_dump($matches); }else{ echo '没有匹配到'; } ?>
Keputusan:
Disebabkan ini, terdapat ruang selepas aksara w pembolehubah $string. Jadi perlawanan itu berjaya dan jenis rentetan dikeluarkan dengan panjang 1. Cuma mata kasar kita tidak nampak dan tidak nampak rentetan ini.
2 Atom yang ditanda khas
Nota: Setiap satu perlu diingati di sini Hidup, adalah yang terbaik untuk mencapai tahap imlak. Apabila menghafal, ingat secara berpasangan, d sepadan dengan 0-9, maka D adalah semua aksara kecuali 0-9.
Perkara di atas telah diterangkan dengan sangat jelas. Mari kita jalankan eksperimen untuk mempelajari langkah demi langkah.
Apabila anda belajar, sila pastikan anda mencapai tahap imlak untuk atom ini. Kerana apabila kami melakukan eksperimen pada masa hadapan, anda akan mempelajarinya sedikit demi sedikit.
3. d sepadan dengan 0-9
Kodnya adalah seperti berikut:
<?php $zz = '/\d/'; $string = '床9前明月光'; if(preg_match($zz, $string, $matches)){ echo '匹配到了,结果为:'; var_dump($matches); }else{ echo '没有匹配到'; } ?>
4. D sepadan dengan nilai selain daripada 0-9
Contoh: Kodnya adalah seperti berikut
<?php header("Content-type:text/html;charset=utf-8"); $zz = '/\D/'; $string = '121243中23453453'; if(preg_match($zz, $string, $matches)){ echo '匹配到了,结果为:'; var_dump($matches); }else{ echo '没有匹配到'; } ?>
5. zA-Z0-9_
Contohnya adalah seperti berikut
<?php $zz = '/\w/'; $string = '新中_国万岁呀万岁'; if(preg_match($zz, $string, $matches)){ echo '匹配到了,结果为:'; var_dump($matches); }else{ echo '没有匹配到'; } ?>
6 W sepadan dengan bukan-a-zA-Z0-9_< . Contohnya seperti berikut 8. S watak bukan nol contoh adalah seperti berikut: berjaya dipadankan. Walaupun terdapat ruang, kereta kembali dan lekukan padanya. Walau bagaimanapun, terdapat watak bukan ruang putih a. Oleh itu, perlawanan itu berjaya. 9 [] Nyatakan julat atom Contohnya adalah seperti berikut Cuba lagi dan tukar $ rentetan kepada $ string1, lihat jika ia sepadan dengan Kesimpulan: 10 [^ aksara] tidak sepadan dengan aksara dalam selang waktu yang ditentukan Kodnya adalah seperti berikut: Kesimpulan : gagal memadankan $string, tetapi berjaya apabila memadankan $string1. Kerana terdapat watak circumflex di dalam kurungan segi empat sama. ^ Fungsi aksara circumflex di dalam kurungan segi empat sama bukan untuk memadankan aksara di dalam kurungan segi empat sama. 11. <?php
$zz = '/\W/';
$string = 'afasABCWEQR44231284737';
if(preg_match($zz, $string, $matches)){
echo '匹配到了,结果为:';
var_dump($matches);
}else{
echo '没有匹配到';
}
?>
<?php
$zz = '/\s/';
$string = "中国万
岁";
if(preg_match($zz, $string, $matches)){
echo '匹配到了,结果为:';
var_dump($matches);
}else{
echo '没有匹配到';
}
?>
<?php
$zz = '/\S/';
$string = "
a ";
if(preg_match($zz, $string, $matches)){
echo '匹配到了,结果为:';
var_dump($matches);
}else{
echo '没有匹配到';
}
?>
Dalam contoh di atas, 0-5 gagal untuk memadankan $string, tetapi $string1 berjaya. Kerana, nilai pertama dalam $string ialah 6, yang bukan dalam julat [0-5]. <?php
$zz = '/[0-5]\w+/';
$string = '6a';
$string1 = '1C';
if(preg_match($zz, $string, $matches)){
echo '匹配到了,结果为:';
var_dump($matches);
}else{
echo '没有匹配到';
}
?>