ฉันคิดว่ามันน่าจะพอเพียง:
#!python
import re
pattern = re.compile(r'<title>([^<]*)</title>', re.MULTILINE|re.IGNORECASE)
pattern.search(text)
... สมมติว่าข้อความ (HTML) ของคุณอยู่ในตัวแปรชื่อ "text"
นอกจากนี้ยังถือว่าไม่มีแท็ก HTML อื่น ๆ ที่สามารถฝังไว้ในแท็ก HTML TITLE ได้อย่างถูกกฎหมายและไม่มีทางที่จะฝังอักขระ <อื่น ๆ ภายในคอนเทนเนอร์ / บล็อกดังกล่าวได้อย่างถูกกฎหมาย
อย่างไรก็ตาม ...
อย่าใช้นิพจน์ทั่วไปสำหรับการแยกวิเคราะห์ HTML ใน Python ใช้โปรแกรมแยกวิเคราะห์ HTML! (เว้นแต่คุณจะเขียนตัวแยกวิเคราะห์แบบเต็มซึ่งจะเป็นงานพิเศษเมื่อตัวแยกวิเคราะห์ HTML, SGML และ XML ต่างๆอยู่ในไลบรารีมาตรฐานแล้ว
หากการจัดการแท็ก "โลกแห่งความจริง" ของคุณใช้ HTML (ซึ่งมักไม่เป็นไปตามโปรแกรมตรวจสอบ SGML / XML ใด ๆ ) ให้ใช้แพ็คเกจBeautifulSoup มันไม่ได้อยู่ในไลบรารีมาตรฐาน (ยัง) แต่แนะนำกว้าง ๆ สำหรับวัตถุประสงค์นี้
อีกทางเลือกหนึ่งคือ: lxml ... ซึ่งเขียนขึ้นสำหรับ HTML ที่มีโครงสร้างอย่างถูกต้อง (ตามมาตรฐาน) แต่มันก็มีตัวเลือกในการ fallback กับการใช้ BeautifulSoup เป็นตัวแยกวิเคราะห์ที่ใช้งาน: ElementSoup