การจัดกลุ่มและการจับข้อความ

Regular Expressions ใน Python

Maria Eugenia Inzaugarat

Data Scientist

การจัดกลุ่มอักขระ

 

Regular Expressions ใน Python

การจัดกลุ่มอักขระ

 

 

re.findall(r'[A-Za-z]+\s\w+\s\d+\s\w+', text)
['Clary has 2 friends', 'Susan has 3 brothers', 'John has 4 sisters']
Regular Expressions ใน Python

กลุ่มการจับข้อความ

 

  • ใช้วงเล็บเพื่อจัดกลุ่มและจับอักขระไว้ด้วยกัน

 

Regular Expressions ใน Python

กลุ่มการจับข้อความ

 

  • ใช้วงเล็บเพื่อจัดกลุ่มและจับอักขระไว้ด้วยกัน

 

re.findall(r'([A-Za-z]+)\s\w+\s\d+\s\w+', text)
['Clary', 'Susan', 'John']
Regular Expressions ใน Python

กลุ่มการจับข้อความ

 

 

Regular Expressions ใน Python

กลุ่มการจับข้อความ

 

 

re.findall(r'([A-Za-z]+)\s\w+\s(\d+)\s(\w+)', text)
[('Clary', '2', 'friends'),
 ('Susan', '3', 'brothers'),
 ('John', '4', 'sisters')]
Regular Expressions ใน Python

กลุ่มการจับข้อความ

  • จับรูปแบบย่อยเฉพาะในรูปแบบ
  • นำไปใช้ประมวลผลต่อได้
Regular Expressions ใน Python

กลุ่มการจับข้อความ

  • จัดระเบียบข้อมูล
pets = re.findall(r'([A-Za-z]+)\s\w+\s(\d+)\s(\w+)', "Clary has 2 dogs but John has 3 cats")

pets[0][0]
'Clary'
Regular Expressions ใน Python

กลุ่มการจับข้อความ

  • ทางซ้ายทันที

    • r"apple+": + ใช้กับ e ไม่ใช่กับ apple

 

  • ใช้ quantifier กับทั้งกลุ่ม
re.search(r"(\d[A-Za-z])+", "My user name is 3e4r5fg")
<re.Match object; span=(16, 22), match='3e4r5f'>
Regular Expressions ใน Python

กลุ่มการจับข้อความ

  • จับกลุ่มซ้ำ (\d+) เทียบกับ ทำซ้ำกลุ่มการจับ (\d)+
my_string = "My lucky numbers are 8755 and 33"
re.findall(r"(\d)+", my_string)
['5', '3']

 

re.findall(r"(\d+)", my_string)
['8755', '33']
Regular Expressions ใน Python

มาฝึกกันเถอะ!

Regular Expressions ใน Python

Preparing Video For Download...