แฟล็ก re.DOTALL (หรือ re.S) บอกให้ Python ทำให้อักขระพิเศษ . (dot) จับคู่ อักขระทุกตัวรวมถึง newline ด้วย
ตัวอย่าง
import re paragraph = """This is a paragraph. It has multiple lines.""" match = re.search(r'.*
', paragraph, re.DOTALL) print(match.group(0))
ผลลัพธ์
This is a paragraph. It has multiple lines.
คำอธิบาย
- โดยค่าเริ่มต้น
.ไม่จับคู่\n(newline) re.DOTALLทำให้.จับคู่อักขระใดๆ รวม newline- รูปแบบ
จับคู่ตั้งแต่.*
ถึงข้ามบรรทัดได้
ทางเลือกอื่น: ใช้ [\s\S] แทน
# ไม่ต้องใช้ flag match = re.search(r'[\s\S]*
', paragraph)
[\s\S] หมายถึง "ช่องว่างหรือไม่ใช่ช่องว่าง" = อักขระใดๆ ทั้งหมด ทำงานได้ในทุก regex engine