cari

Php中的正则表达式

May 09, 2018 am 11:49 AM
phpbiasaungkapan

这篇文章主要介绍了关于Php中的正则表达式,有着一定的参考价值,现在分享给大家,有需要的朋友可以参考一下

简单介绍正则表达式及其作用

Ø 正则表达式的了解

正则表达式就是描述字符串排列模式的一种自定义语言规则

如果可以使用字符串处理函数完成的任务,就不要使用正则表达式

有一些复杂性的操作,只能用正则表达式

正则表达式也称为一种模式表达式

正则表达式就是通过具有特定规则的模式,在与输入的字符串信息进行比较、分割、查找、替换等操作

Ø 正则表达式的特点

正则表达式也是一个字符串

由具有特殊意义的字符串组成的字符串

具有一定编写规则,也是一种模式

看做是一种编程语言:是用一些特殊字符,按照规则编写出来一个字符串,形成一种模式

注意:如果正则表达式不和函数一起使用,则就是一个字符串,如果正则表达式放到某个函数中使用,才能发挥正则表达式的真正作用

Ø PHP中提供了两套正则表达式函数库

 Posix扩展正则表达式ereg_开头的函数

 perl兼容正则表达式preg_开头的函数

 推荐使用prel 兼容正则表达式函数库

正则表达式的语法

Ø 正则定界符

Ø 正则表达式中的原子

Ø 正则表达式中的元字符

Ø 正则表达式的模式修正符

正则定界符

正则的定界符就是用来声明正则表达式边界的符号。

正则表达式常用的边界符为 /,实际上任何非数字字母以及反斜线\ 之外的任意字符都可以做正则表达式的边界符。

注意:一个完整的正则表达式有两个边界符

一个是字符串类型的引号边界符  ''

一个是正则表达式的边界符 //(一般用/)

整体就是 '//'

正则表达式的原子

 组成正则表达式的最小单位就是原子

正则的数字字母都是原子,大部分不可见的字符也是原子。

例如:\n\r\t...这些转译字符都是元素

Ø 正则中原子

 \d 表示 0-9之间的一个数字

 \D 表示除了0-9之间的任意一个字符

 \s 表示匹配任意一个空白字符包括 \n\r\t..

 \S 表示除了空白符或者转译字符之外的任意一个字符

 \w 表示大小写字符数字以及下划线当中任意一个字符

 \W 表示除了大小写字母数字以及下划线之外的任意一个字符

正则表达式中的元字符(原子修饰符)

Ø [] 原子列表

    表示在指定的字符中选择一个原子

  例如:[5-9] 表示5 6 7 8 9连续得字符允许缩写为:[开始字符 -结束字符]

Ø [^] 排除列表

例如:[^4 ] 表示除了4之外的任意一个字符都可以

Ø 用元字符(原子修饰符)来模拟原子

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

\s [\n\r\t]                 \S[^\n\r\t]

\w[a-zA-Z0-9]       \W[^a-zA-Z0-9]

Ø 原子数量修饰符

  表示前面的原子出现0次或者1

 + 表示前面的原子出现1次或者多次

 * 表示前面的原子出现0次或者多次

Ø 原子数量修饰列表

n {m,n} 表示前面的原子最小出现m次,最多出现n

n {m,}表示前面的原子最少出现m

n {m} 表示前面的原子能出现m

Ø 原子数量修饰列表模拟数量修饰符

 {0,1}

+  {1,} 

*  {0,}

Ø 字符串边界修饰符

 ^ 表示以指定字符开头的内容

 $ 表示以指定字符结尾的内容

注意:

 ^ $后表示精准修饰限定两者之间的内容是否一致

如果要使用^$ 可以匹配每一行的开始和结束部分,需要使用模拟修正符 

Ø | 选择修饰符

或与且类似

Ø () 模式单元

改变优先级

将多原子视为一个原子,可以使用原子数量修饰符

将匹配到的括号中的内容暂时存为内存中

如果使用()仅仅为了模拟一个原子使用原子数量修饰符,那么可以在括号的开始处使用?: 来接触存于内容的作用,提高效率

可以将括号的内容在函数的辅助下进行反向引用操作

Ø 元字符

 .(点)匹配除了\n之外的任意一个字符

正则表达式模拟修正符

Ø  i 忽略大小写

Ø  x 忽略正则表达式中得空白

Ø  s 使用.(元字符)可以匹配到\n 

Ø  S 加速匹配

Ø  U 模式 改变贪婪模式

改变贪婪模式,程序默认是贪婪模式,匹配最远的结束为止,我们可以在正则中使用*?匹配任意字符的同时使用非贪婪模式

注意:如果此时程序为贪婪模式,使用U后,则程序变为非贪婪模式。如果此时程序为非贪婪模式,使用U后,程序变为贪婪模式

正则表达式的函数

Ø preg_grep() 返回与模式匹配的数组单元

@param1:正则表达式

@param2:要匹配的数组

@param3:可选参数默认为false。设置为true表示返回与模式匹配相反的数组单元

返回值:返回与模式匹配的数组单元

Ø preg_match() 进行一次正则匹配适合做查询有没有

@param1正则表达式

@param2要匹配的字符串

@param3可选参数,返回与正则表达式匹配的内容

返回值:成功返回1,失败返回0   1表示匹配的次数

Ø preg_match_all() 进行正则匹配 适合查询有多少

@param1正则表达式

@param2要匹配的字符串

@param3可选参数,返回与正则表达式匹配的内容

返回值:返回匹配的次数,如果没有匹配带则返回0

Ø preg_split()  用正则表达式分隔字符串

@param1:正则表达式

@param2要分隔的字符串

@param3返回分隔后的数组

Ø preg_replace() 执行正则表达式的替换

@param1:要查找正则表达式

@param2:要替换的内容

@param3:在哪里进行替换操作(数组还是字符串)

返回值:返回替换后的数组或者字符串

 相关推荐:

php的正则表达式

Atas ialah kandungan terperinci Php中的正则表达式. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan
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
PHP dan Python: Paradigma yang berbeza dijelaskanPHP dan Python: Paradigma yang berbeza dijelaskanApr 18, 2025 am 12:26 AM

PHP terutamanya pengaturcaraan prosedur, tetapi juga menyokong pengaturcaraan berorientasikan objek (OOP); Python menyokong pelbagai paradigma, termasuk pengaturcaraan OOP, fungsional dan prosedur. PHP sesuai untuk pembangunan web, dan Python sesuai untuk pelbagai aplikasi seperti analisis data dan pembelajaran mesin.

PHP dan Python: menyelam mendalam ke dalam sejarah merekaPHP dan Python: menyelam mendalam ke dalam sejarah merekaApr 18, 2025 am 12:25 AM

PHP berasal pada tahun 1994 dan dibangunkan oleh Rasmuslerdorf. Ia pada asalnya digunakan untuk mengesan pelawat laman web dan secara beransur-ansur berkembang menjadi bahasa skrip sisi pelayan dan digunakan secara meluas dalam pembangunan web. Python telah dibangunkan oleh Guidovan Rossum pada akhir 1980 -an dan pertama kali dikeluarkan pada tahun 1991. Ia menekankan kebolehbacaan dan kesederhanaan kod, dan sesuai untuk pengkomputeran saintifik, analisis data dan bidang lain.

Memilih antara php dan python: panduanMemilih antara php dan python: panduanApr 18, 2025 am 12:24 AM

PHP sesuai untuk pembangunan web dan prototaip pesat, dan Python sesuai untuk sains data dan pembelajaran mesin. 1.Php digunakan untuk pembangunan web dinamik, dengan sintaks mudah dan sesuai untuk pembangunan pesat. 2. Python mempunyai sintaks ringkas, sesuai untuk pelbagai bidang, dan mempunyai ekosistem perpustakaan yang kuat.

PHP dan Rangka Kerja: Memodenkan bahasaPHP dan Rangka Kerja: Memodenkan bahasaApr 18, 2025 am 12:14 AM

PHP tetap penting dalam proses pemodenan kerana ia menyokong sejumlah besar laman web dan aplikasi dan menyesuaikan diri dengan keperluan pembangunan melalui rangka kerja. 1.Php7 meningkatkan prestasi dan memperkenalkan ciri -ciri baru. 2. Rangka kerja moden seperti Laravel, Symfony dan CodeIgniter memudahkan pembangunan dan meningkatkan kualiti kod. 3. Pengoptimuman prestasi dan amalan terbaik terus meningkatkan kecekapan aplikasi.

Impak PHP: Pembangunan Web dan seterusnyaImpak PHP: Pembangunan Web dan seterusnyaApr 18, 2025 am 12:10 AM

Phphassignificantelympactedwebdevelopmentandextendsbeyondit.1) itpowersmajorplatformslikeworderpressandexcelsindatabaseIntions.2) php'SadaptabilityAldoStoScaleforlargeapplicationFrameworksLikelara.3)

Bagaimanakah jenis membayangkan jenis PHP, termasuk jenis skalar, jenis pulangan, jenis kesatuan, dan jenis yang boleh dibatalkan?Bagaimanakah jenis membayangkan jenis PHP, termasuk jenis skalar, jenis pulangan, jenis kesatuan, dan jenis yang boleh dibatalkan?Apr 17, 2025 am 12:25 AM

Jenis PHP meminta untuk meningkatkan kualiti kod dan kebolehbacaan. 1) Petua Jenis Skalar: Oleh kerana Php7.0, jenis data asas dibenarkan untuk ditentukan dalam parameter fungsi, seperti INT, Float, dan lain -lain. 2) Return Type Prompt: Pastikan konsistensi jenis nilai pulangan fungsi. 3) Jenis Kesatuan Prompt: Oleh kerana Php8.0, pelbagai jenis dibenarkan untuk ditentukan dalam parameter fungsi atau nilai pulangan. 4) Prompt jenis yang boleh dibatalkan: membolehkan untuk memasukkan nilai null dan mengendalikan fungsi yang boleh mengembalikan nilai null.

Bagaimanakah PHP mengendalikan pengklonan objek (kata kunci klon) dan kaedah sihir __clone?Bagaimanakah PHP mengendalikan pengklonan objek (kata kunci klon) dan kaedah sihir __clone?Apr 17, 2025 am 12:24 AM

Dalam PHP, gunakan kata kunci klon untuk membuat salinan objek dan menyesuaikan tingkah laku pengklonan melalui kaedah Magic \ _ _ _. 1. Gunakan kata kunci klon untuk membuat salinan cetek, mengkloning sifat objek tetapi bukan sifat objek. 2. Kaedah klon \ _ \ _ boleh menyalin objek bersarang untuk mengelakkan masalah menyalin cetek. 3. Beri perhatian untuk mengelakkan rujukan pekeliling dan masalah prestasi dalam pengklonan, dan mengoptimumkan operasi pengklonan untuk meningkatkan kecekapan.

PHP vs Python: Gunakan Kes dan AplikasiPHP vs Python: Gunakan Kes dan AplikasiApr 17, 2025 am 12:23 AM

PHP sesuai untuk pembangunan web dan sistem pengurusan kandungan, dan Python sesuai untuk sains data, pembelajaran mesin dan skrip automasi. 1.PHP berfungsi dengan baik dalam membina laman web dan aplikasi yang cepat dan berskala dan biasanya digunakan dalam CMS seperti WordPress. 2. Python telah melakukan yang luar biasa dalam bidang sains data dan pembelajaran mesin, dengan perpustakaan yang kaya seperti numpy dan tensorflow.

See all articles

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

AI Hentai Generator

AI Hentai Generator

Menjana ai hentai secara percuma.

Artikel Panas

R.E.P.O. Kristal tenaga dijelaskan dan apa yang mereka lakukan (kristal kuning)
1 bulan yang laluBy尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Tetapan grafik terbaik
1 bulan yang laluBy尊渡假赌尊渡假赌尊渡假赌
Akan R.E.P.O. Ada Crossplay?
1 bulan yang laluBy尊渡假赌尊渡假赌尊渡假赌

Alat panas

MinGW - GNU Minimalis untuk Windows

MinGW - GNU Minimalis untuk Windows

Projek ini dalam proses untuk dipindahkan ke osdn.net/projects/mingw, anda boleh terus mengikuti kami di sana. MinGW: Port Windows asli bagi GNU Compiler Collection (GCC), perpustakaan import yang boleh diedarkan secara bebas dan fail pengepala untuk membina aplikasi Windows asli termasuk sambungan kepada masa jalan MSVC untuk menyokong fungsi C99. Semua perisian MinGW boleh dijalankan pada platform Windows 64-bit.

PhpStorm versi Mac

PhpStorm versi Mac

Alat pembangunan bersepadu PHP profesional terkini (2018.2.1).

DVWA

DVWA

Damn Vulnerable Web App (DVWA) ialah aplikasi web PHP/MySQL yang sangat terdedah. Matlamat utamanya adalah untuk menjadi bantuan bagi profesional keselamatan untuk menguji kemahiran dan alatan mereka dalam persekitaran undang-undang, untuk membantu pembangun web lebih memahami proses mengamankan aplikasi web, dan untuk membantu guru/pelajar mengajar/belajar dalam persekitaran bilik darjah Aplikasi web keselamatan. Matlamat DVWA adalah untuk mempraktikkan beberapa kelemahan web yang paling biasa melalui antara muka yang mudah dan mudah, dengan pelbagai tahap kesukaran. Sila ambil perhatian bahawa perisian ini

Pelayar Peperiksaan Selamat

Pelayar Peperiksaan Selamat

Pelayar Peperiksaan Selamat ialah persekitaran pelayar selamat untuk mengambil peperiksaan dalam talian dengan selamat. Perisian ini menukar mana-mana komputer menjadi stesen kerja yang selamat. Ia mengawal akses kepada mana-mana utiliti dan menghalang pelajar daripada menggunakan sumber yang tidak dibenarkan.

VSCode Windows 64-bit Muat Turun

VSCode Windows 64-bit Muat Turun

Editor IDE percuma dan berkuasa yang dilancarkan oleh Microsoft