วิธีง่ายที่สุดแยกค่าตัวเลขสูงสุดจากสตริงด้วย regex คือ
- ใช้ regex module แยกตัวเลขทั้งหมดจากสตริง
- หาค่าสูงสุดจากตัวเลขเหล่านั้น
เช่น สตริงอินพุท
มีคน 121005 คนในเมืองนี้ 1587469 ในเมืองข้างเคียง และ 18775994 ในเมืองไกล
ควรได้ผลลัพธ์
18775994
ใช้ regex "\d+" หาตัวเลขทั้งหมด \d แทน digit และ + หาลำดับ digit ติดกันยาวสุด ใช้ re package
import re
# แยกค่าตัวเลขทั้งหมดจากสตริง
occ = re.findall("\d+", "There are 121005 people in this city, 1587469 in the neighbouring city and 18775994 in a far off city.")
# แปลงตัวเลขจากสตริงเป็น int
num_list = map(int, occ)
# หาและพิมพ์ค่าสูงสุด
print(max(num_list))
ผลลัพธ์
18775994