Rumah  >  Artikel  >  pembangunan bahagian belakang  >  Cara menggunakan ungkapan biasa Python untuk carian teks penuh

Cara menggunakan ungkapan biasa Python untuk carian teks penuh

王林
王林asal
2023-06-22 18:00:011419semak imbas

Dengan perkembangan zaman maklumat, kami berhadapan dengan sejumlah besar data dan teks adalah sangat penting untuk mencari kandungan yang kami perlukan dengan cepat dan berkesan. Dalam konteks ini, ungkapan biasa (Regular Expression), alat yang berkuasa, telah menjadi bahagian yang tidak boleh digantikan dalam pemprosesan dan carian teks. Artikel ini akan memperkenalkan cara menggunakan ungkapan biasa Python untuk carian teks penuh, membolehkan anda memproses data teks dengan lebih baik.

1. Apa itu ungkapan biasa? , ganti dan operasi teks lain. Ungkapan biasa terdiri daripada satu siri aksara dan aksara kawalan yang boleh menentukan templat rentetan tertentu dan menyemak sama ada rentetan yang diberikan sepadan dengan templat. Kuasanya bukan sahaja padanan aksara mudah, tetapi juga penggunaan simbol khas untuk memadankan set aksara tertentu, kelas aksara atau kedudukan aksara, dsb., dengan itu mencapai pemprosesan teks yang lebih fleksibel.

2. Gunakan modul semula Python untuk melaksanakan operasi ekspresi biasa

Python, sebagai bahasa pengaturcaraan peringkat tinggi, dilengkapi dengan modul semulanya sendiri untuk melaksanakan fungsi ekspresi biasa. Untuk menggunakan modul semula, anda perlu mengimport modul terlebih dahulu, dan kemudian gunakan fungsi yang disediakan di dalamnya untuk melaksanakan operasi ungkapan biasa. Contohnya, untuk mencari semua bahagian rentetan yang sepadan dengan corak tertentu, anda boleh menggunakan fungsi re.findall().

import semula

str = "Helo, nama saya Tom. Siapa nama awak?"

corak = r"nama (.+?)."

matches = re.findall(pattern, str)

print(matches)

Dalam kod di atas, kami mentakrifkan rentetan str dan corak templat ungkapan biasa, dan kemudian Gunakan fungsi re.findall() untuk mencari semua bahagian yang sepadan dengan templat dan mengeluarkan hasilnya. Apabila anda menjalankan kod, anda boleh melihat bahawa senarai yang mengandungi semua kandungan yang sepadan adalah output.

3 Gunakan ungkapan biasa untuk carian teks penuh

Dalam aplikasi praktikal, kita selalunya perlu memadankan corak dan mencari keseluruhan teks dan bukannya mencari satu rentetan. Mari kita lihat cara menggunakan ungkapan biasa Python untuk carian teks penuh.

Baca teks
  1. Pertama, kita perlu membaca teks yang ingin kita cari dalam Python. Anda boleh menggunakan fungsi open() terbina dalam Python untuk membuka fail teks dan membaca kandungannya dalam mod yang ditentukan.

dengan open("sample.txt", "r") sebagai f:

text = f.read()


Dalam kod di atas, kami membuka nama dalam read- mod sahaja Fail teks ialah sample.txt, dan kandungan dibaca ke dalam pembolehubah teks.

Menulis ungkapan biasa
  1. Selepas membaca teks, kita perlu menulis ungkapan biasa yang betul untuk memadankan apa yang ingin kita cari. Menulis ungkapan biasa memerlukan pemahaman penuh tentang struktur dan ciri teks sasaran.

Sebagai contoh, jika kita ingin mencari semua nombor telefon, kita boleh menggunakan ungkapan biasa berikut untuk dipadankan mengikut corak nombor telefon bimbit:

corak = r' 1[0- 9 ]{9} '

Dalam ungkapan biasa di atas, mewakili sempadan perkataan, [1] mewakili digit pertama nombor telefon mudah alih ialah 1, [3-9] mewakili digit kedua mudah alih nombor telefon mana-mana nombor dari 3 hingga 9, [0-9]{9} bermakna 9 digit seterusnya ialah nombor. Menggunakan ungkapan biasa ini, kita boleh mencari semua nombor telefon bimbit dalam fail.

Gunakan fungsi re.findall()
  1. Akhir sekali, kami menggunakan fungsi re.findall() untuk mencari keseluruhan teks dan mencari semua bahagian yang sepadan. Kod khusus adalah seperti berikut:

import semula

dengan open("sample.txt", "r") sebagai f:

text = f.read()


corak = r' 1[0-9]{9} '

padan = re.findall(corak, teks)

cetak(padan)

dalam di atas Dalam kod, kami menetapkan teks baca kepada pembolehubah teks, kemudian menggunakan ungkapan biasa yang ditulis sebelum ini sebagai corak padanan, gunakan fungsi re.findall() untuk mencari teks dan menyimpan semua kandungan yang sepadan dalam senarai padanan . Menjalankan kod akan memberikan kita semua nombor telefon yang kita mahu.

4. Ringkasan

Melalui pengenalan artikel ini, kami telah memahami prinsip dan penggunaan ungkapan biasa, dan mempelajari cara menggunakan modul semula Python untuk carian teks penuh. Dalam aplikasi praktikal, ungkapan biasa ialah alat penting untuk pemprosesan teks dan analisis data. Memahami cara menggunakannya boleh membolehkan kami memproses sejumlah besar data dan teks dengan lebih baik dan meningkatkan kecekapan kerja.

Atas ialah kandungan terperinci Cara menggunakan ungkapan biasa Python untuk carian teks penuh. 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