Alternation และ non-capturing groups

Regular Expressions ใน Python

Maria Eugenia Inzaugarat

Data Scientist

Pipe

  • เส้นแนวตั้งหรือไปป์: |

 

my_string = "I want to have a pet. But I don't know if I want a cat, a dog or a bird."

re.findall(r"cat|dog|bird", my_string)
['cat', 'dog', 'bird']
Regular Expressions ใน Python

Pipe

  • เส้นแนวตั้งหรือไปป์: |

   

my_string = "I want to have a pet. But I don't know if I want 2 cats, 1 dog or a bird."

re.findall(r"\d+\scat|dog|bird", my_string)
['2 cat', 'dog', 'bird']

Regular Expressions ใน Python

Alternation

  • ใช้กลุ่มเพื่อเลือกระหว่างรูปแบบที่เป็นทางเลือก

 

my_string = "I want to have a pet. But I don't know if I want 2 cats, 1 dog or a bird."
re.findall(r"\d+\s(cat|dog|bird)", my_string)
['cat', 'dog']
Regular Expressions ใน Python

Alternation

  • ใช้กลุ่มเพื่อเลือกระหว่างรูปแบบที่เป็นทางเลือก

 

my_string = "I want to have a pet. But I don't know if I want 2 cats, 1 dog or a bird."

re.findall(r"(\d)+\s(cat|dog|bird)", my_string)
[('2', 'cat'), ('1', 'dog')]
Regular Expressions ใน Python

Non-capturing groups

  • จับคู่แต่ไม่จับกลุ่ม

    • เมื่อกลุ่มไม่ได้ถูก backreference

    • เพิ่ม ?:: (?:regex)

Regular Expressions ใน Python

Non-capturing groups

  • จับคู่แต่ไม่จับกลุ่ม

 

my_string = "John Smith: 34-34-34-042-980, Rebeca Smith: 10-10-10-434-425"

re.findall(r"(?:\d{2}-){3}(\d{3}-\d{3})", my_string)
['042-980', '434-425']
Regular Expressions ใน Python

Alternation

  • ใช้ non-capturing groups สำหรับ alternation

 

my_date = "Today is 23rd May 2019. Tomorrow is 24th May 19."

re.findall(r"(\d+)(?:th|rd)", my_date)
['23', '24']
Regular Expressions ใน Python

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

Regular Expressions ใน Python

Preparing Video For Download...