เริ่มต้นใช้งานเริ่มต้นใช้งานได้ฟรี

เขียน Regular Expression

มาเขียน Regular Expression กัน!

โจทย์คือให้สร้าง Regular Expression สำหรับจับคู่อุณหภูมิที่ถูกต้องในหน่วยเซลเซียสหรือฟาเรนไฮต์ (เช่น '+23.5 C', '-4 F', '0.0 C', '73.45 F') แล้วดึงทุกค่าที่ตรงกันออกจากสตริง text ที่กำหนดให้ อุณหภูมิที่เป็นบวกจะมีหรือไม่มีเครื่องหมาย + นำหน้าก็ได้ (เช่น '5 F', '+5 F') ส่วนอุณหภูมิที่เป็นลบต้องมีเครื่องหมาย - นำหน้าเสมอ และอุณหภูมิศูนย์จะมีหรือไม่มีเครื่องหมายนำหน้าก็ได้

โมดูล re ถูก import ไว้แล้ว

เคล็ดลับ:

  • สัญลักษณ์ + ที่อยู่ภายในวงเล็บเหลี่ยม [] จะจับคู่กับสัญลักษณ์ + ตัวนั้นโดยตรง (เช่น Regular Expression [1a+] จะจับคู่กับ '1', 'a' หรือ '+')
  • สามารถใช้ ? กับชุดอักขระภายใน [] เพื่อทำให้ชุดนั้นเป็นตัวเลือกได้ (เช่น [ab]? จับคู่กับ 'a', 'b' หรือ '')

แบบฝึกหัดนี้เป็นส่วนหนึ่งของหลักสูตร

ฝึกทำโจทย์สัมภาษณ์งานเขียนโค้ดด้วย Python

ดูคอร์ส

แบบฝึกหัดเชิงโต้ตอบแบบลงมือทำ

ลองทำแบบฝึกหัดนี้โดยเติมโค้ดตัวอย่างนี้ให้สมบูรณ์

# Define a pattern to search for valid temperatures in text
pattern = re.compile(____)

# Print the temperatures out
print(re.findall(pattern, text))
แก้ไขและรันโค้ด