Rumah pembangunan bahagian belakang tutorial php Asas ungkapan biasa yang menarik dalam PHP (penjelasan terperinci dengan ilustrasi)

Asas ungkapan biasa yang menarik dalam PHP (penjelasan terperinci dengan ilustrasi)

Oct 18, 2021 pm 02:26 PM
php ungkapan biasa

Dalam artikel sebelumnya, saya membawakan anda "Belajar menggunakan Senarai PHP, setiap fungsi dan kerjasama", yang menerangkan terutamanya cara menggunakan fungsi senarai dan setiap fungsi dan apa yang perlu dilakukan antara kedua-dua . Apabila digunakan bersama, saya percaya anda telah hampir menguasainya, jadi dalam artikel ini kita akan melihat ungkapan biasa dalam PHP. Semoga ia membantu semua orang!

Asas ungkapan biasa yang menarik dalam PHP (penjelasan terperinci dengan ilustrasi)

Ungkapan biasa ialah formula logik, iaitu "rentetan yang ditetapkan" yang terdiri daripada beberapa aksara yang diisytiharkan pada permulaan dan gabungan aksara ini sebenarnya digunakan untuk menapis rentetan. Dapat difahami bahawa apabila log masuk sebagai pengguna, kadangkala kita perlu mengisi data tertentu seperti kod pengesahan atau nombor telefon Pada masa ini, ungkapan biasa digunakan.

Walaupun ungkapan biasa kelihatan rumit, ia sebenarnya tidak sukar. Mari kita lihat seterusnya.

Pembatas ungkapan biasa

Perkara pertama yang perlu kita pelajari ialah pembatas ungkapan biasa seperti namanya , Pembatas ialah simbol yang menentukan sempadan ungkapan biasa Tetapkan sempadan dan ungkapan biasa berada dalam sempadan. Pada masa yang sama, pembatas ungkapan biasa ditetapkan:

  • pembatas, a-zA-Z0-9 tidak boleh digunakan dan semua yang lain boleh digunakan. Dan mereka mesti muncul secara berpasangan, dengan permulaan dan penghujung.

Contohnya seperti berikut:

$正则表达式$
%正则表达式%
/正则表达式/
Salin selepas log masuk

Apa yang perlu kita perhatikan ialah / ialah watak melarikan diri, yang boleh digunakan apabila kita memerlukan untuk memadankan / dalam ungkapan biasa Escape it. Jika anda mendapati ia menyusahkan, anda boleh terus menggunakan pembatas lain seperti:

$/$
Salin selepas log masuk

Atom ungkapan biasa

Atom ungkapan biasa ialah Yang terkecil unit dalam ungkapan biasa, yang perlu kita padankan, mesti mempunyai sekurang-kurangnya satu atom dalam ungkapan integer yang kita wujudkan.

Malah, boleh difahami bahawa semua aksara yang boleh dilihat dan tidak kelihatan adalah atom, seperti ruang, pemulangan kereta, suapan baris, 0-9, tanda baca, A-Za-z dan Cina semua atom.

fungsi preg_match()

Sebelum bercakap tentang atom secara terperinci, kita perlu memahami sesuatu fungsi dahulu, iaitu preg_match

PHP The fungsi preg_match() boleh mencari dan memadankan rentetan berdasarkan ungkapan biasa yang ditentukan.

Format sintaks adalah seperti berikut:

preg_match ( string $正则 , string $字符串 [, array &$结果] )
Salin selepas log masuk

Menurut $regex, iaitu ungkapan biasa yang kami takrifkan, apabila memadankan $string, jika wujud, bilangan padanan akan dikembalikan, dan kemudian hasil yang sepadan Masukkan dalam $results. Jika tiada keputusan ditemui, 0 dikembalikan.

Mari kita lihat melalui contoh:

<?php
//定义一个变量叫a,作为我们定义的正则表达式。
$a = &#39;/a/&#39;;
$b = &#39;abbcccddddeeeee&#39;;
if(preg_match($a, $b, $c)){
   echo &#39;匹配到了,结果为:&#39;;
   var_dump($c);
}else{
   echo &#39;没有匹配到&#39;;
}
?>
Salin selepas log masuk

Hasil keluaran:

Asas ungkapan biasa yang menarik dalam PHP (penjelasan terperinci dengan ilustrasi)

Daripada contoh di atas anda boleh Ia boleh dilihat bahawa kami telah mentakrifkan pembolehubah a, dengan harapan untuk memadankan a, dan a wujud dalam $b, dan output melalui pernyataan if else berjaya.

Contoh lain:

<?php
//定义一个变量叫a,作为我们定义的正则表达式。
$a = &#39;/fff/&#39;;
$b = &#39;abbcccddddeeeee&#39;;
if(preg_match($a, $b, $c)){
   echo &#39;匹配到了,结果为:&#39;;
   var_dump($c);
}else{
   echo &#39;没有匹配到&#39;;
}
?>
Salin selepas log masuk

Hasil keluaran:

Asas ungkapan biasa yang menarik dalam PHP (penjelasan terperinci dengan ilustrasi)

Dalam contoh di atas, kami berharap untuk memadankan rentetan , Tetapi $b tidak wujud, jadi tiada padanan yang berjaya Pernyataan if else menunjukkan bahawa perlawanan itu berjaya.

Setelah mengetahui penggunaan asas fungsi preg_match(), kita boleh menggunakannya dalam kombinasi dengan atom yang dikenal pasti khas.

Atom yang dikenal pasti khas

  • d---padan dengan 0-9

  • D---Semua aksara kecuali 0-9

  • w---a-zA-Z0-9_

  • W---Semua aksara kecuali 0-9A-Za-z_

  • s---Padankan semua aksara ruang kosong n ruang

  • S---padan semua aksara bukan ruang putih

  • [ ]---atom dalam julat yang ditentukan

Penggunaan khusus mereka akan difahami dengan memberi anda contoh:

<?php
$a = &#39;/\d/&#39;;
$b = &#39;人生自古谁无4&#39;;
if(preg_match($a, $b, $c)){
   echo &#39;匹配到了,结果为:&#39;;
   var_dump($c);
}else{
   echo &#39;没有匹配到&#39;;
}
?>
Salin selepas log masuk

Hasil keluaran:

Asas ungkapan biasa yang menarik dalam PHP (penjelasan terperinci dengan ilustrasi)

Dalam contoh di atas , yang dikenal pasti khas atom d mewakili nombor dari 0 hingga 9, jadi terdapat 4 dalam $b yang perlu dipadankan, supaya perlawanan itu berjaya.

<?php
$a = &#39;/\w/&#39;;
$b = &#39;人生自古谁无死&#39;;
if(preg_match($a, $b, $c)){
   echo &#39;匹配到了,结果为:&#39;;
   var_dump($c);
}else{
   echo &#39;没有匹配到&#39;;
}
?>
Salin selepas log masuk

Hasil keluaran:

Asas ungkapan biasa yang menarik dalam PHP (penjelasan terperinci dengan ilustrasi)

Dalam contoh di atas, atom w yang dikenal pasti khas mewakili a-zA-Z0-9_ , terdapat tiada unsur sepadan dalam pembolehubah b, jadi hasil keluaran tidak dipadankan.

Terdapat juga [^] aksara yang menunjukkan aksara yang tidak sepadan dengan selang waktu yang ditentukan.

Contoh adalah seperti berikut:

<?php
$a = &#39;/[^0-9A-Za-z_]/&#39;;
$b = &#39;abbccc122333&#39;;
if(preg_match($a, $b, $c)){
   echo &#39;匹配到了,结果为:&#39;;
   var_dump($c);
}else{
   echo &#39;没有匹配到&#39;;
}
?>
Salin selepas log masuk

Hasil keluaran:

Asas ungkapan biasa yang menarik dalam PHP (penjelasan terperinci dengan ilustrasi)

通过[^]字符匹配除0-9A-Za-z_以外的字符,未匹配到。

总结一下:

  • \w---[a-zA-Z0-9_]

  • \W---[^a-zA-Z0-9_]

  • \d---[0-9]

  • \D---[^0-9]

  • \s---[ \t\n\f\r]

  • \S---[^ \t\n\f\r]

正则表达式的元字符

在上面的示例中,我们能够看出通过匹配的话,只能匹配一个字符,但是在我们的日常使用中,通常会匹配多个字符,那这时候只通过我们的原子就不能达到我们的目的。就需要通过元字符来帮我们修饰原子,实现更多的功能。

  • *---代表匹配前面的一个原子,匹配0次或者任意多次前面的字符。

  • +---匹配一次或多次前面的一个字符

  • ?---前面的字符可有可无【可选】 有或没有

  • .---更标准一些应该把点算作原子。匹配除了\n以外的所有字符 或者。注:它的优先级最低了。

  • ^---必须要以抑扬符之后的字符串开始

  • $--- 必须要以$之前的字符结尾

  • \b---词边界

  • \B---非边界

  • {m}---有且只能出现m次

  • {n,m}---可以出现n到m次

  • {m,}---至少m次,最大次数不限制

  • ()---改变优先级或者将某个字符串视为一个整体,匹配到的数据取出来也可以使用它

接下来我们通过一些例子来实例看一下这些元字符的使用:

<?php
$a = &#39;/\d+/&#39;;
$b = "爱你10000年";
if(preg_match($a, $b, $c)){
   echo &#39;匹配到了,结果为:&#39;;
   var_dump($c);
}else{
   echo &#39;没有匹配到&#39;;
}
?>
Salin selepas log masuk

输出结果:

Asas ungkapan biasa yang menarik dalam PHP (penjelasan terperinci dengan ilustrasi)

通过元字符+的添加,匹配到了多次字符,\d+中d是匹配数字,+则表示最少匹配一次前面的字符。

正则表达式的模式修正符

通过原子和元字符的了解,我们已经完成了正则表达式的入门,但是这仍然不能代表正则表达式的真正实力,如果我们只希望正则表达式匹配一部分应该怎么办?有些特殊情况依然需要处理,这时候我们就要用到正则表达式的模式修正符。

下面列举一些常用的模式修正符:

  • i 模式中的字符将同时匹配大小写字母.

  • m 字符串视为多行

  • s 将字符串视为单行,换行符作为普通字符.

  • x 将模式中的空白忽略.

  • A 强制仅从目标字符串的开头开始匹配.

  • D 模式中的美元元字符仅匹配目标字符串的结尾.

  • U 匹配最近的字符串.

它的用法如下:

/正则表达式/模式修正符

接下来我们通过一些实例来看一下它的使用:

<?php  
    $a = &#39;/ABC/i&#39;; 
$b = &#39;8988abc12313&#39;;
$c = &#39;11111ABC2222&#39;; 
if(preg_match($a, $b, $d)){
     echo &#39;匹配到了,结果为:&#39;; 
    var_dump($d); }else{
     echo &#39;没有匹配到&#39;;
     }
 ?>
Salin selepas log masuk

输出结果:

Asas ungkapan biasa yang menarik dalam PHP (penjelasan terperinci dengan ilustrasi)

i可以让匹配的时候同时匹配大小写,那么接下来把匹配的$b换成$c试一下,我们看一下输出结果:

<?php  
    $a = &#39;/ABC/i&#39;; 
$b = &#39;8988abc12313&#39;;
$c = &#39;11111ABC2222&#39;; 
if(preg_match($a, $c, $d)){
     echo &#39;匹配到了,结果为:&#39;; 
    var_dump($d); }else{
     echo &#39;没有匹配到&#39;;
     }
 ?>
Salin selepas log masuk

输出结果:

Asas ungkapan biasa yang menarik dalam PHP (penjelasan terperinci dengan ilustrasi)

推荐学习:《PHP视频教程

Atas ialah kandungan terperinci Asas ungkapan biasa yang menarik dalam PHP (penjelasan terperinci dengan ilustrasi). Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn

Alat AI Hot

Undresser.AI Undress

Undresser.AI Undress

Apl berkuasa AI untuk mencipta foto bogel yang realistik

AI Clothes Remover

AI Clothes Remover

Alat AI dalam talian untuk mengeluarkan pakaian daripada foto.

Undress AI Tool

Undress AI Tool

Gambar buka pakaian secara percuma

Clothoff.io

Clothoff.io

Penyingkiran pakaian AI

Video Face Swap

Video Face Swap

Tukar muka dalam mana-mana video dengan mudah menggunakan alat tukar muka AI percuma kami!

Alat panas

Notepad++7.3.1

Notepad++7.3.1

Editor kod yang mudah digunakan dan percuma

SublimeText3 versi Cina

SublimeText3 versi Cina

Versi Cina, sangat mudah digunakan

Hantar Studio 13.0.1

Hantar Studio 13.0.1

Persekitaran pembangunan bersepadu PHP yang berkuasa

Dreamweaver CS6

Dreamweaver CS6

Alat pembangunan web visual

SublimeText3 versi Mac

SublimeText3 versi Mac

Perisian penyuntingan kod peringkat Tuhan (SublimeText3)

Panduan Pemasangan dan Naik Taraf PHP 8.4 untuk Ubuntu dan Debian Panduan Pemasangan dan Naik Taraf PHP 8.4 untuk Ubuntu dan Debian Dec 24, 2024 pm 04:42 PM

PHP 8.4 membawa beberapa ciri baharu, peningkatan keselamatan dan peningkatan prestasi dengan jumlah penamatan dan penyingkiran ciri yang sihat. Panduan ini menerangkan cara memasang PHP 8.4 atau naik taraf kepada PHP 8.4 pada Ubuntu, Debian, atau terbitan mereka

7 Fungsi PHP Saya Menyesal Saya Tidak Tahu Sebelum ini 7 Fungsi PHP Saya Menyesal Saya Tidak Tahu Sebelum ini Nov 13, 2024 am 09:42 AM

Jika anda seorang pembangun PHP yang berpengalaman, anda mungkin merasakan bahawa anda telah berada di sana dan telah melakukannya. Anda telah membangunkan sejumlah besar aplikasi, menyahpenyahpepijat berjuta-juta baris kod dan mengubah suai sekumpulan skrip untuk mencapai op

Cara Menyediakan Kod Visual Studio (Kod VS) untuk Pembangunan PHP Cara Menyediakan Kod Visual Studio (Kod VS) untuk Pembangunan PHP Dec 20, 2024 am 11:31 AM

Kod Visual Studio, juga dikenali sebagai Kod VS, ialah editor kod sumber percuma — atau persekitaran pembangunan bersepadu (IDE) — tersedia untuk semua sistem pengendalian utama. Dengan koleksi sambungan yang besar untuk banyak bahasa pengaturcaraan, Kod VS boleh menjadi c

Jelaskan JSON Web Tokens (JWT) dan kes penggunaannya dalam PHP API. Jelaskan JSON Web Tokens (JWT) dan kes penggunaannya dalam PHP API. Apr 05, 2025 am 12:04 AM

JWT adalah standard terbuka berdasarkan JSON, yang digunakan untuk menghantar maklumat secara selamat antara pihak, terutamanya untuk pengesahan identiti dan pertukaran maklumat. 1. JWT terdiri daripada tiga bahagian: header, muatan dan tandatangan. 2. Prinsip kerja JWT termasuk tiga langkah: menjana JWT, mengesahkan JWT dan muatan parsing. 3. Apabila menggunakan JWT untuk pengesahan di PHP, JWT boleh dijana dan disahkan, dan peranan pengguna dan maklumat kebenaran boleh dimasukkan dalam penggunaan lanjutan. 4. Kesilapan umum termasuk kegagalan pengesahan tandatangan, tamat tempoh, dan muatan besar. Kemahiran penyahpepijatan termasuk menggunakan alat debugging dan pembalakan. 5. Pengoptimuman prestasi dan amalan terbaik termasuk menggunakan algoritma tandatangan yang sesuai, menetapkan tempoh kesahihan dengan munasabah,

Bagaimana anda menghuraikan dan memproses HTML/XML dalam PHP? Bagaimana anda menghuraikan dan memproses HTML/XML dalam PHP? Feb 07, 2025 am 11:57 AM

Tutorial ini menunjukkan cara memproses dokumen XML dengan cekap menggunakan PHP. XML (bahasa markup extensible) adalah bahasa markup berasaskan teks yang serba boleh yang direka untuk pembacaan manusia dan parsing mesin. Ia biasanya digunakan untuk penyimpanan data

Program PHP untuk mengira vokal dalam rentetan Program PHP untuk mengira vokal dalam rentetan Feb 07, 2025 pm 12:12 PM

Rentetan adalah urutan aksara, termasuk huruf, nombor, dan simbol. Tutorial ini akan mempelajari cara mengira bilangan vokal dalam rentetan yang diberikan dalam PHP menggunakan kaedah yang berbeza. Vokal dalam bahasa Inggeris adalah a, e, i, o, u, dan mereka boleh menjadi huruf besar atau huruf kecil. Apa itu vokal? Vokal adalah watak abjad yang mewakili sebutan tertentu. Terdapat lima vokal dalam bahasa Inggeris, termasuk huruf besar dan huruf kecil: a, e, i, o, u Contoh 1 Input: String = "TutorialSpoint" Output: 6 menjelaskan Vokal dalam rentetan "TutorialSpoint" adalah u, o, i, a, o, i. Terdapat 6 yuan sebanyak 6

Terangkan pengikatan statik lewat dalam php (statik: :). Terangkan pengikatan statik lewat dalam php (statik: :). Apr 03, 2025 am 12:04 AM

Mengikat statik (statik: :) Melaksanakan pengikatan statik lewat (LSB) dalam PHP, yang membolehkan kelas panggilan dirujuk dalam konteks statik dan bukannya menentukan kelas. 1) Proses parsing dilakukan pada masa runtime, 2) Cari kelas panggilan dalam hubungan warisan, 3) ia boleh membawa overhead prestasi.

Apakah kaedah Magic PHP (__construct, __destruct, __call, __get, __set, dll) dan menyediakan kes penggunaan? Apakah kaedah Magic PHP (__construct, __destruct, __call, __get, __set, dll) dan menyediakan kes penggunaan? Apr 03, 2025 am 12:03 AM

Apakah kaedah sihir PHP? Kaedah sihir PHP termasuk: 1. \ _ \ _ Membina, digunakan untuk memulakan objek; 2. \ _ \ _ Destruct, digunakan untuk membersihkan sumber; 3. \ _ \ _ Call, mengendalikan panggilan kaedah yang tidak wujud; 4. \ _ \ _ Mendapatkan, melaksanakan akses atribut dinamik; 5. \ _ \ _ Set, melaksanakan tetapan atribut dinamik. Kaedah ini secara automatik dipanggil dalam situasi tertentu, meningkatkan fleksibiliti dan kecekapan kod.

See all articles