Rumah > Artikel > pembangunan bahagian belakang > Cara menggunakan ungkapan biasa Python untuk carian teks penuh
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 teksdengan 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.
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()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!