Ringkaskan dan susun mata pengetahuan ungkapan biasa Python

WBOY
Lepaskan: 2022-04-14 20:56:37
ke hadapan
1961 orang telah melayarinya

Artikel ini membawakan anda pengetahuan yang berkaitan tentang python, yang terutamanya memperkenalkan isu yang berkaitan dengan ungkapan biasa Ungkapan biasa (Ungkapan Biasa) ialah rentetan yang boleh mewakili Mari kita lihat sekeping maklumat biasa. Saya harap ia akan membantu semua orang.

Ringkaskan dan susun mata pengetahuan ungkapan biasa Python

Pembelajaran yang disyorkan: tutorial video python

1.1 Ungkapan biasa

Biasa An ungkapan (Ungkapan Biasa) ialah rentetan, yang boleh mewakili sekeping maklumat biasa . Python disertakan dengan modul ekspresi biasa, yang melaluinya anda boleh mencari, mengekstrak dan menggantikan sekeping maklumat biasa. Sukar untuk mencari seorang di antara sepuluh ribu orang, tetapi mudah untuk mencari seorang yang sangat "berciri" di antara sepuluh ribu orang. Katakan ada seorang yang berkulit hijau dan berketinggian tiga meter Walaupun orang ini dalam kalangan sepuluh ribu orang, orang lain boleh menemuinya dengan sepintas lalu. Proses "mencari" ini dipanggil "padanan" dalam ungkapan biasa. Dalam pembangunan program, jika anda mahu program komputer mencari kandungan yang diperlukan daripada sekeping teks yang besar, anda boleh menggunakan ungkapan biasa. Terdapat langkah berikut untuk menggunakan ungkapan biasa.
(1) Cari corak.
(2) Gunakan simbol biasa untuk menyatakan peraturan.
(3) Ekstrak maklumat.

1.2 Simbol asas ungkapan biasa

1.2.1 Titik "."

A noktah boleh menggantikan mana-mana aksara kecuali pemisah baris, termasuk tetapi tidak terhad kepada huruf Inggeris, nombor, aksara Cina, tanda baca bahasa Inggeris dan tanda baca bahasa Cina.

1.2.2 Asterisk “*”

Asterisk boleh mewakili subungkapan yang sebelumnya ( watak biasa , satu lagi atau beberapa simbol ungkapan biasa) 0 kali hingga tak terhingga.

Ringkaskan dan susun mata pengetahuan ungkapan biasa Python
Semua di atas boleh diterima: (tanda bintang mewakili ungkapan sebelumnya)
Ringkaskan dan susun mata pengetahuan ungkapan biasa Python

1.2.3 Tanda bintang ".* ”

Titik mewakili mana-mana aksara bukan baris baharu dan asterisk mewakili padanan aksara sebelumnya sebanyak 0 kali atau beberapa kali. Jadi ".*" bermaksud memadankan rentetan dengan sebarang panjang beberapa kali.
Ringkaskan dan susun mata pengetahuan ungkapan biasa Python
Semua perkara di atas boleh diterima:
Ini bermakna "apa-apa nombor mana-mana aksara kecuali pemisah baris" muncul di antara "sebegitu" dan "ha".
Ringkaskan dan susun mata pengetahuan ungkapan biasa Python

1.2.4 Tanda soal “ ”

Tanda soal mewakili 0 atau 1 kali daripada subungkapan sebelum itu. Ambil perhatian bahawa tanda soal di sini ialah tanda soal Bahasa Inggeris Ringkaskan dan susun mata pengetahuan ungkapan biasa Python
seperti di atas: Ringkaskan dan susun mata pengetahuan ungkapan biasa Python

1.2.5 Tanda soal titik dan asterisk ".* (paling biasa digunakan)

Penggunaan selepas gabungan:
Ringkaskan dan susun mata pengetahuan ungkapan biasa Python
Semua di atas boleh digunakan:
Ringkaskan dan susun mata pengetahuan ungkapan biasa Python
Nota: Perbezaan antara ".* dan ".*"
. *? Ia bermaksud untuk memadankan rentetan terpendek yang boleh memenuhi keperluan.
Satu ringkasan ayat adalah seperti berikut.
① ".*": Mod tamak, dapatkan rentetan terpanjang yang memenuhi syarat.
②".*?": Mod tidak tamak, dapatkan rentetan terpendek yang memenuhi syarat.

1.2.6 Tanda kurung "()"

"ekstrak" bahagian kandungan daripada rentetan
Terdapat rentetan berikut:
Ringkaskan dan susun mata pengetahuan ungkapan biasa Python
Sebagai. anda boleh lihat, kata laluan di sini mempunyai titik bertindih Inggeris di sebelah kiri dan aksara Cina "anda" di sebelah kanan. Apabila membina ungkapan biasa: .*? Apabila anda, hasilnya akan menjadi:
Ringkaskan dan susun mata pengetahuan ungkapan biasa Python
Walau bagaimanapun, tanda bertindih dan aksara Cina "anda" bukan sebahagian daripada kata laluan Jika anda hanya mahu "12345abcde", anda perlu menggunakan kurungan:
Ringkaskan dan susun mata pengetahuan ungkapan biasa Python
mendapat:
Ringkaskan dan susun mata pengetahuan ungkapan biasa Python

1.2.7 Segaris ke belakang “ ”

Dalam ungkapan biasa, banyak simbol mempunyai makna istimewa, seperti tanda soal, asterisk, pendakap, kurungan segi empat sama dan kurungan. Garis miring ke belakang perlu digunakan bersama-sama dengan aksara lain untuk menukar simbol khas kepada simbol biasa, dan simbol biasa kepada simbol khas.
Ringkaskan dan susun mata pengetahuan ungkapan biasa Python

1.2.8 Nombor “d”

“d” digunakan dalam ungkapan biasa untuk mewakili satu digit.
Nak extract dua nombor boleh guna dd kalau nak extract 3 nombor boleh guna ddd. Tetapi bagaimana jika anda tidak tahu berapa digit nombor ini? Anda perlu menggunakan tanda * untuk mewakili nombor sewenang-wenangnya.

Ringkaskan dan susun mata pengetahuan ungkapan biasa Python
Semua boleh diwakili oleh ungkapan biasa berikut:
Ringkaskan dan susun mata pengetahuan ungkapan biasa Python

1.3 Menggunakan ungkapan biasa

Modul ungkapan biasa Python dinamakan "re", yang merupakan singkatan daripada "ungkapan biasa". Dalam Python, anda perlu mengimport modul ini terlebih dahulu sebelum menggunakannya. Pernyataan yang diimport ialah:

import re
Salin selepas log masuk

1.3.1 kaedah findall

Modul ungkapan biasa Python mengandungi kaedah findall, yang boleh mengembalikan semua dalam bentuk senarai Rentetan yang memenuhi keperluan.
Prototaip fungsi findall ialah:

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

corak mewakili ungkapan biasa, rentetan mewakili rentetan asal dan bendera mewakili beberapa bendera fungsi khas. Hasil findall ialah senarai yang mengandungi semua hasil yang sepadan. Jika tiada keputusan dipadankan, senarai kosong akan dikembalikan.

Apabila anda perlu mengekstrak kandungan tertentu, gunakan kurungan untuk menyertakan kandungan tersebut supaya anda tidak mendapat maklumat yang tidak berkaitan. Bagaimana untuk kembali jika ia mengandungi berbilang "(.*? )"? Seperti yang ditunjukkan dalam Rajah 3-2, apa yang dikembalikan masih merupakan senarai, tetapi elemen dalam senarai menjadi tupel Elemen pertama dalam tupel ialah nombor akaun, dan elemen kedua ialah kata laluan.
Ringkaskan dan susun mata pengetahuan ungkapan biasa Python

Terdapat parameter bendera dalam prototaip fungsi. Parameter ini boleh diabaikan. Apabila tidak ditinggalkan, ia mempunyai beberapa fungsi tambahan, seperti mengabaikan huruf besar, mengabaikan baris baharu, dsb.
Di sini kami mengambil mengabaikan baris baharu sebagai contoh untuk menggambarkan Untuk mengabaikan baris baharu, anda perlu menggunakan bendera "re.S". Ringkaskan dan susun mata pengetahuan ungkapan biasa Python
Walaupun simbol "n" muncul dalam hasil yang sepadan, ia adalah lebih baik daripada tidak mendapat apa-apa. Garis putus dalam kandungan boleh digantikan apabila membersihkan data kemudian.

1.3.2 kaedah carian

Penggunaan search() adalah sama seperti findall(), tetapi search() hanya akan mengembalikan rentetan pertama yang memenuhi keperluan . Sebaik sahaja ia menemui sesuatu yang sepadan dengan keperluan, ia berhenti mencari. Ia amat berguna untuk mencari hanya data pertama dalam teks yang sangat besar, yang boleh meningkatkan kecekapan berjalan program dengan banyak.

Prototaip fungsi carian() ialah: Ringkaskan dan susun mata pengetahuan ungkapan biasa Python
Untuk keputusan, jika perlawanan berjaya, ia adalah objek ungkapan biasa jika tiada data dipadankan, ia adalah Tiada.

Jika anda perlu mendapatkan hasil yang sepadan, anda perlu menggunakan kaedah .group() untuk mendapatkan nilai di dalam.
Ringkaskan dan susun mata pengetahuan ungkapan biasa Python
Hanya apabila parameter dalam .group() ialah 1, keputusan dalam kurungan dalam ungkapan biasa akan dicetak. Parameter

.group() tidak boleh melebihi bilangan kurungan dalam ungkapan biasa. Parameter 1 bermaksud membaca kandungan dalam kurungan pertama, parameter 2 bermaksud membaca kandungan dalam kurungan kedua, dan seterusnya.
(Perhatikan bahawa yang dalam gambar bukan findall)
Ringkaskan dan susun mata pengetahuan ungkapan biasa Python

1.3.3 kaedah penyusunan

re.findall() datang dengan fungsi re. compile(), jadi Tidak perlu menggunakan re.compile().

1.4 Teknik pengekstrakan ekspresi biasa

1.4.1 Pegang yang besar dahulu dan kemudian yang kecil: pengekstrakan sekunder

Ringkaskan dan susun mata pengetahuan ungkapan biasa Python

1.4.2 Di dalam kurungan dan di luar kurungan

Mungkin terdapat aksara lain di dalam kurungan.
Lihat gambar di bawah untuk kesan tertentu.
Ringkaskan dan susun mata pengetahuan ungkapan biasa Python
Jika terdapat aksara biasa lain dalam kurungan, aksara biasa ini akan muncul dalam hasil yang diperolehi.

Pembelajaran yang disyorkan: tutorial video python

Atas ialah kandungan terperinci Ringkaskan dan susun mata pengetahuan ungkapan biasa Python. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Label berkaitan:
sumber:csdn.net
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
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan
Tentang kita Penafian Sitemap
Laman web PHP Cina:Latihan PHP dalam talian kebajikan awam,Bantu pelajar PHP berkembang dengan cepat!