Rumah pembangunan bahagian belakang Tutorial Python Pengenalan kepada ungkapan biasa dan fungsi padanan biasa mereka dalam Python

Pengenalan kepada ungkapan biasa dan fungsi padanan biasa mereka dalam Python

Jul 25, 2023 pm 05:17 PM
python Ungkapan biasa (regexp)

/Pengenalan/

Python telah menambah modul semula sejak versi 1.5, yang menyediakan corak ekspresi biasa gaya Perl. Modul re membolehkan bahasa Python mempunyai semua fungsi ekspresi biasa.

Fungsi kompilasi menjana objek ungkapan biasa berdasarkan rentetan corak dan parameter bendera pilihan. Objek ini mempunyai satu siri kaedah untuk pemadanan dan penggantian ungkapan biasa.

Modul semula juga menyediakan fungsi yang betul-betul sama dengan kaedah ini. Fungsi ini mengambil rentetan corak sebagai parameter pertamanya.


/re.match function/

re.match cuba memadankan corak dari kedudukan permulaan rentetan, jika kedudukan permulaan tidak dipadankan tiada. Sintaksnya adalah seperti berikut:

re.match(pattern, string, flags=0)
Salin selepas log masuk

"corak" sepadan dengan ungkapan biasa "rentetan" dan rentetan bendera "bendera" untuk dipadankan.

Jika perlawanan berjaya, kaedah re.match mengembalikan objek yang sepadan, jika tidak, ia mengembalikan Tiada.

Kita boleh menggunakan fungsi objek padanan kumpulan(num) atau kumpulan() untuk mendapatkan ungkapan yang sepadan.

group(num=0) 匹配的整个表达式的字符串,“group()”可以一次输入多个组号,在这种情况下它将返回一个包含那些组所对应值的元组。

下图是个实际例子:

Pengenalan kepada ungkapan biasa dan fungsi padanan biasa mereka dalam Python

输出结果如下图所示:

Pengenalan kepada ungkapan biasa dan fungsi padanan biasa mereka dalam Python


/检索和替换/

Python 的re模块提供了re.sub用于替换字符串中的匹配项。语法如下所示:

re.sub(pattern, repl, string, count=0, flags=0)
Salin selepas log masuk

参数:

pattern : 正则中的模式字符串。

repl : 替换的字符串,也可为一个函数。

string : 要被查找替换的原始字符串。

count : 模式匹配后替换的最大次数,默认 0 表示替换所有的匹配。

flags : 编译时用的匹配模式,数字形式。

前三个为必参数,后两个为可选参数。

下图是个实际例子:

Pengenalan kepada ungkapan biasa dan fungsi padanan biasa mereka dalam Python

输出结果如下图所示:

Pengenalan kepada ungkapan biasa dan fungsi padanan biasa mereka dalam Python


/compile函数/

compile 函数用于编译正则表达式,供match() 和 search() 这两个函数使用。语法格式为:

re.compile(pattern[, flags])
Salin selepas log masuk

参数:

pattern : 一个字符串形式的正则表达式

flags 可选,表示匹配模式,比如忽略大小写,多行模式等,具体参数为:

re.I 忽略大小写

  re.L mewakili set aksara khas w, W, b, B, s, S bergantung pada persekitaran semasa

mod berbilang baris re.M

re.S ialah ' aksara baris baharu Mana-mana aksara termasuk (' . 'tidak termasuk pemisah baris)

re.U mewakili set aksara khas w, W, b, B, d, D, s, S dan bergantung pada pangkalan data atribut aksara Unicode

semula.

re.MatchObject: group() mengembalikan rentetan yang dipadankan dengan RE. Mula () Kembali ke kedudukan permulaan yang sepadan

TAMAT () Mengembalikan kedudukan kedudukan padanan pengubah suai ungkapan biasa - bendera pilihan/

Ekspresi biasa boleh mengandungi beberapa pengubah suai bendera pilihan untuk mengawal corak yang dipadankan. Pengubah suai ditentukan sebagai bendera pilihan. Bendera berbilang boleh ditentukan dengan bitwise ATAU(|) mereka. Contohnya, re.I |. re.M ditetapkan kepada bendera I dan M:

Menghuraikan aksara mengikut set aksara w, W, b, B.

re.I

menjadikan perlawanan tidak sensitif huruf besar dan kecil

re

semula. re.U

Unicode. Tanda ini mempengaruhi

semula.


/corak ungkapan biasa/

Rentetan corak menggunakan sintaks khas untuk mewakili ungkapan biasa:

Huruf dan nombor mewakili diri mereka sendiri. Huruf dan nombor dalam corak ungkapan biasa sepadan dengan rentetan yang sama.

Kebanyakan huruf dan nombor mempunyai makna yang berbeza apabila didahului dengan garis serong ke belakang.

Tanda baca hanya sepadan dengan diri mereka sendiri jika ia dilepaskan, jika tidak, ia mewakili makna yang istimewa.

Serikan ke belakang itu sendiri perlu dilepaskan dengan garis serong ke belakang.

Memandangkan ungkapan biasa biasanya mengandungi garis miring ke belakang, lebih baik anda menggunakan rentetan mentah untuk mewakilinya. Elemen corak (seperti r't', bersamaan dengan \t) sepadan dengan aksara khas yang sepadan.

Jadual berikut menyenaraikan elemen istimewa dalam sintaks corak ungkapan biasa. Jika anda menggunakan corak dan memberikan hujah bendera pilihan, maksud beberapa elemen corak akan berubah.

Pengenalan kepada ungkapan biasa dan fungsi padanan biasa mereka dalam Python

Contoh Ungkapan Biasa

Padanan Watak

python

Contoh

sepadan dengan "python".

字符类

Pengenalan kepada ungkapan biasa dan fungsi padanan biasa mereka dalam Python

/实际应用/

以猫眼电影为例。我们需要获取(电影的名字作者,上映时间)等等都可以用正则表达式来解析。

Pengenalan kepada ungkapan biasa dan fungsi padanan biasa mereka dalam Python

分析一下,利用正则表达式提取。Pengenalan kepada ungkapan biasa dan fungsi padanan biasa mereka dalam Python

可以看到我们要的名字在一个a里面,而他们被一个div包裹着。

我们把div想象成一个盒子,可以看到div里面还有一个div 我们可以先找他上面一层的div是一个表单

再找到它的上一层的盒子div
一般来说我们找到前两层就可以找到我们要的结果。如果不对就再找几层。

分析完再实际操作一下:

pattern = re.compile(&#39;<div>.*?title="(.*?)".*?class="star">(.*?)</p>.*?releasetime">(.*?)</p>&#39;,re.S)
Salin selepas log masuk

    (.*?)表示我们要的内容

(.*?)

里面的主演也是我们要的这样我们就可以得到我们想要得多个数据。


/小结/

1. Ungkapan biasa sesuai untuk senario di mana berbilang data perlu diperolehi. Ia boleh mendapatkan data yang kita inginkan dengan lebih pantas.

2. Artikel ini memperkenalkan ungkapan biasa dan penggunaan asasnya Untuk penggunaan khusus bagi setiap aksara, anda boleh merujuk artikel siri ungkapan biasa dalam kata pengantar .

Atas ialah kandungan terperinci Pengenalan kepada ungkapan biasa dan fungsi padanan biasa mereka dalam Python. 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

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)
4 minggu yang lalu By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Tetapan grafik terbaik
4 minggu yang lalu By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Cara Memperbaiki Audio Jika anda tidak dapat mendengar sesiapa
4 minggu yang lalu By 尊渡假赌尊渡假赌尊渡假赌
WWE 2K25: Cara Membuka Segala -galanya Di Myrise
1 bulan yang lalu By 尊渡假赌尊渡假赌尊渡假赌

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)

Cara Menggunakan Log Debian Apache Untuk Meningkatkan Prestasi Laman Web Cara Menggunakan Log Debian Apache Untuk Meningkatkan Prestasi Laman Web Apr 12, 2025 pm 11:36 PM

Artikel ini akan menerangkan bagaimana untuk meningkatkan prestasi laman web dengan menganalisis log Apache di bawah sistem Debian. 1. Asas Analisis Log Apache Log merekodkan maklumat terperinci semua permintaan HTTP, termasuk alamat IP, timestamp, url permintaan, kaedah HTTP dan kod tindak balas. Dalam sistem Debian, log ini biasanya terletak di direktori/var/log/apache2/access.log dan /var/log/apache2/error.log. Memahami struktur log adalah langkah pertama dalam analisis yang berkesan. 2. Alat Analisis Log Anda boleh menggunakan pelbagai alat untuk menganalisis log Apache: Alat baris arahan: grep, awk, sed dan alat baris arahan lain.

Python: Permainan, GUI, dan banyak lagi Python: Permainan, GUI, dan banyak lagi Apr 13, 2025 am 12:14 AM

Python cemerlang dalam permainan dan pembangunan GUI. 1) Pembangunan permainan menggunakan pygame, menyediakan lukisan, audio dan fungsi lain, yang sesuai untuk membuat permainan 2D. 2) Pembangunan GUI boleh memilih tkinter atau pyqt. TKInter adalah mudah dan mudah digunakan, PYQT mempunyai fungsi yang kaya dan sesuai untuk pembangunan profesional.

PHP dan Python: Membandingkan dua bahasa pengaturcaraan yang popular PHP dan Python: Membandingkan dua bahasa pengaturcaraan yang popular Apr 14, 2025 am 12:13 AM

PHP dan Python masing -masing mempunyai kelebihan mereka sendiri, dan memilih mengikut keperluan projek. 1.PHP sesuai untuk pembangunan web, terutamanya untuk pembangunan pesat dan penyelenggaraan laman web. 2. Python sesuai untuk sains data, pembelajaran mesin dan kecerdasan buatan, dengan sintaks ringkas dan sesuai untuk pemula.

Peranan Sniffer Debian dalam Pengesanan Serangan DDOS Peranan Sniffer Debian dalam Pengesanan Serangan DDOS Apr 12, 2025 pm 10:42 PM

Artikel ini membincangkan kaedah pengesanan serangan DDoS. Walaupun tiada kes permohonan langsung "debiansniffer" ditemui, kaedah berikut boleh digunakan untuk pengesanan serangan DDOS: Teknologi Pengesanan Serangan DDo Sebagai contoh, skrip Python yang digabungkan dengan perpustakaan Pyshark dan Colorama boleh memantau trafik rangkaian dalam masa nyata dan mengeluarkan makluman. Pengesanan berdasarkan analisis statistik: dengan menganalisis ciri statistik trafik rangkaian, seperti data

Nginx SSL Sijil Tutorial Debian Nginx SSL Sijil Tutorial Debian Apr 13, 2025 am 07:21 AM

Artikel ini akan membimbing anda tentang cara mengemas kini sijil NginxSSL anda pada sistem Debian anda. Langkah 1: Pasang Certbot terlebih dahulu, pastikan sistem anda mempunyai pakej CertBot dan Python3-CertBot-Nginx yang dipasang. Jika tidak dipasang, sila laksanakan arahan berikut: sudoapt-getupdateudoapt-getinstallcertbotpython3-certbot-nginx Langkah 2: Dapatkan dan konfigurasikan sijil Gunakan perintah certbot untuk mendapatkan sijil let'Sencrypt dan konfigurasikan nginx: sudoCertBot-ninx ikuti

Bagaimana Debian Readdir Bersepadu Dengan Alat Lain Bagaimana Debian Readdir Bersepadu Dengan Alat Lain Apr 13, 2025 am 09:42 AM

Fungsi Readdir dalam sistem Debian adalah panggilan sistem yang digunakan untuk membaca kandungan direktori dan sering digunakan dalam pengaturcaraan C. Artikel ini akan menerangkan cara mengintegrasikan Readdir dengan alat lain untuk meningkatkan fungsinya. Kaedah 1: Menggabungkan Program Bahasa C dan Pipeline Pertama, tulis program C untuk memanggil fungsi Readdir dan output hasilnya:#termasuk#termasuk#includeintMain (intargc, char*argv []) {dir*dir; structdirent*entry; if (argc! = 2) {

Python dan Masa: Memanfaatkan masa belajar anda Python dan Masa: Memanfaatkan masa belajar anda Apr 14, 2025 am 12:02 AM

Untuk memaksimumkan kecekapan pembelajaran Python dalam masa yang terhad, anda boleh menggunakan modul, masa, dan modul Python. 1. Modul DateTime digunakan untuk merakam dan merancang masa pembelajaran. 2. Modul Masa membantu menetapkan kajian dan masa rehat. 3. Modul Jadual secara automatik mengatur tugas pembelajaran mingguan.

Cara mengkonfigurasi pelayan https di debian openssl Cara mengkonfigurasi pelayan https di debian openssl Apr 13, 2025 am 11:03 AM

Mengkonfigurasi pelayan HTTPS pada sistem Debian melibatkan beberapa langkah, termasuk memasang perisian yang diperlukan, menghasilkan sijil SSL, dan mengkonfigurasi pelayan web (seperti Apache atau Nginx) untuk menggunakan sijil SSL. Berikut adalah panduan asas, dengan mengandaikan anda menggunakan pelayan Apacheweb. 1. Pasang perisian yang diperlukan terlebih dahulu, pastikan sistem anda terkini dan pasang Apache dan OpenSSL: sudoaptDateSudoaptgradesudoaptinsta

See all articles