9
เร่งความเร็วในการแทนที่ regex หลายล้านครั้งใน Python 3
ฉันใช้ Python 3.5.2 ฉันมีสองรายการ รายการ "ประโยค" ประมาณ 750,000 รายการ (สตริงแบบยาว) รายการ "คำ" ประมาณ 20,000 คำที่ฉันต้องการจะลบออกจาก 750,000 ประโยคของฉัน ดังนั้นฉันต้องวนซ้ำ 750,000 ประโยคและทำการแทนที่ประมาณ 20,000 ครั้งแต่เฉพาะในกรณีที่คำของฉันเป็น "คำ" และไม่ได้เป็นส่วนหนึ่งของอักขระที่มีขนาดใหญ่กว่า ฉันกำลังทำสิ่งนี้โดยรวบรวมคำของฉันไว้ล่วงหน้าเพื่อให้พวกเขาถูกขนาบข้างด้วย\bอักขระเมตา compiled_words = [re.compile(r'\b' + word + r'\b') for word in my20000words] จากนั้นฉันก็วนซ้ำ "ประโยค" ของฉัน import re for sentence in sentences: for word in compiled_words: sentence …