Rumah >pembangunan bahagian belakang >Tutorial Python >Bagaimana Kita Boleh Mempercepatkan Penggantian Regex untuk Mengeluarkan Perkataan daripada Berjuta-juta Ayat dalam Python?
Kod Python berikut bertujuan untuk mengalih keluar perkataan tertentu dengan cekap daripada koleksi ayat yang besar, memastikan bahawa penggantian hanya berlaku pada sempadan perkataan:
import re for sentence in sentences: for word in compiled_words: sentence = re.sub(word, "", sentence)
Semasa pendekatan ini berfungsi, ia lambat, mengambil masa berjam-jam untuk memproses berjuta-juta ayat. Meneroka penyelesaian yang lebih pantas adalah perlu.
Versi pendekatan regex yang dioptimumkan boleh meningkatkan prestasi dengan ketara. Daripada menggunakan gabungan regex yang perlahan, yang menjadi tidak cekap apabila bilangan perkataan yang dilarang meningkat, regex berasaskan Trie boleh dibuat.
A Trie ialah struktur data yang menyusun perkataan larangan dengan cekap. Dengan menggunakan Trie, corak regex tunggal boleh dijana yang menggantikan perkataan dengan tepat pada sempadan perkataan tanpa overhed prestasi menyemak setiap perkataan secara individu.
Pendekatan regex berasaskan Trie ini boleh dilaksanakan menggunakan langkah berikut:
Untuk situasi di mana regex tidak sesuai, alternatif yang lebih pantas ialah mungkin menggunakan pendekatan berasaskan set.
Kaedah ini mengelakkan overhed padanan ungkapan biasa, tetapi kelajuannya bergantung pada saiz perkataan yang dilarang set.
Untuk meningkatkan lagi prestasi, pertimbangkan pengoptimuman tambahan:
Atas ialah kandungan terperinci Bagaimana Kita Boleh Mempercepatkan Penggantian Regex untuk Mengeluarkan Perkataan daripada Berjuta-juta Ayat dalam Python?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!