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

19.png

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

<?php
$zz = '/\W/';

$string = 'afasABCWEQR44231284737';

if(preg_match($zz, $string, $matches)){
    echo '匹配到了,结果为:';
    var_dump($matches);
}else{
    echo '没有匹配到';
}

?>

8. S watak bukan nol

contoh adalah seperti berikut:

<?php
$zz = '/\s/';

$string = "中国万
岁";

if(preg_match($zz, $string, $matches)){
    echo '匹配到了,结果为:';
    var_dump($matches);
}else{
    echo '没有匹配到';
}

?>

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

<?php
$zz = '/\S/';

$string = "        
          a       ";

if(preg_match($zz, $string, $matches)){
    echo '匹配到了,结果为:';
    var_dump($matches);
}else{
    echo '没有匹配到';
}

?>

Cuba lagi dan tukar $ rentetan kepada $ string1, lihat jika ia sepadan dengan

Kesimpulan:
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].

10 [^ aksara] tidak sepadan dengan aksara dalam selang waktu yang ditentukan

Kodnya adalah seperti berikut:

<?php

$zz = '/[0-5]\w+/';

$string = '6a';

$string1 = '1C';

if(preg_match($zz, $string, $matches)){
    echo '匹配到了,结果为:';
    var_dump($matches);
}else{
    echo '没有匹配到';
}

?>

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.

Meneruskan pembelajaran
||
<?php //定义一个变量pattern,存放正则表达式 $pattern = '/a/'; //待搜素字段 $string = 'ddfdjjvi2jfvkwkfi24'; //判断,如果匹配到了,输出$matcges的值 if(preg_match($pattern, $string, $matches)){ echo '匹配到了,结果为:'; var_dump($matches); }else{ echo '没有匹配到'; } ?>
  • Cadangan kursus
  • Muat turun perisian kursus