การกรองหมายเลขโทรศัพท์
ต่อไปต้องเขียนสคริปต์สำหรับค้นหาหมายเลขโทรศัพท์มือถือ โดยให้สแกนรายการหมายเลขโทรศัพท์และคืนค่าเฉพาะหมายเลขที่ตรงตามเงื่อนไขที่กำหนด
หมายเลขโทรศัพท์ในรายการมีโครงสร้างดังนี้:
- รหัสพื้นที่ (ไม่บังคับ): 3 หลัก
- Prefix: 4 หลัก
- หมายเลขสาย: 6 หลัก
- ต่อภายใน (ไม่บังคับ): 2 หลัก
ตัวอย่างเช่น 654-8764-439434-01
ให้ใช้ .findall() ร่วมกับ negative lookahead (?!) และ negative lookbehind (?<!) ของ non-capturing group
รายการ cellphones ที่มีหมายเลขโทรศัพท์สามหมายเลข และโมดูล re ถูกโหลดไว้ในเซสชันของคุณแล้ว ใช้ print() เพื่อดูข้อมูลใน IPython Shell ได้
แบบฝึกหัดนี้เป็นส่วนหนึ่งของหลักสูตร
Regular Expressions ใน Python
แบบฝึกหัดเชิงโต้ตอบแบบลงมือทำ
ลองทำแบบฝึกหัดนี้โดยเติมโค้ดตัวอย่างนี้ให้สมบูรณ์
for phone in cellphones:
# Get all phone numbers not preceded by area code
number = re.____(r"(____-)____-____-____", ____)
print(number)