Regex-metatecken

Reguljära uttryck i Python

Maria Eugenia Inzaugarat

Data Scientist

Söka efter mönster

Två metoder för att hitta en matchning:

re.search(r"\d{4}", "4506 people attend the show")
<re.Match object; span=(0, 4), match='4506'>

 

re.search(r"\d+", "Yesterday, I saw 3 shows")
<re.Match object; span=(17, 18), match='3'>

 

re.match(r"\d{4}", "4506 people attend the show")
<re.Match object; span=(0, 4), match='4506'>

 

re.match(r"\d+","Yesterday, I saw 3 shows")
None
Reguljära uttryck i Python

Specialtecken

  • Matcha vilket tecken som helst (utom radbrytning): .

 

my_links = "Just check out this link: www.amazingpics.com. It has amazing photos!"

re.findall(r"www com", my_links)
Reguljära uttryck i Python

Specialtecken

  • Matcha vilket tecken som helst (utom radbrytning): .

 

my_links = "Just check out this link: www.amazingpics.com. It has amazing photos!"

re.findall(r"www.+com", my_links)
['www.amazingpics.com']
Reguljära uttryck i Python

Specialtecken

  • Strängens början: ^
my_string = "the 80s music was much better that the 90s"
re.findall(r"the\s\d+s", my_string)
['the 80s', 'the 90s']

 

re.findall(r"^the\s\d+s", my_string)
['the 80s']
Reguljära uttryck i Python

Specialtecken

  • Strängens slut: $
my_string = "the 80s music hits were much better that the 90s"
re.findall(r"the\s\d+s$", my_string)
['the 90s']
Reguljära uttryck i Python

Specialtecken

  • Escapea specialtecken: \
my_string = "I love the music of Mr.Go. However, the sound was too loud."
print(re.split(r".\s", my_string))
['', 'lov', 'th', 'musi', 'o', 'Mr.Go', 'However', 'th', 'soun', 'wa', 'to', 'loud.']

 

print(re.split(r"\.\s", my_string))
['I love the music of Mr.Go', 'However, the sound was too loud.']
Reguljära uttryck i Python

OR-operatorn

  • Tecken: |
my_string = "Elephants are the world's largest land animal! I would love to see an elephant one day"
re.findall(r"Elephant|elephant", my_string)
['Elephant', 'elephant']
Reguljära uttryck i Python

OR-operatorn

  • Teckenuppsättning: [ ]
my_string = "Yesterday I spent my afternoon with my friends: MaryJohn2 Clary3"
re.findall(r"[a-zA-Z]+\d", my_string)
['MaryJohn2', 'Clary3']
Reguljära uttryck i Python

OR-operatorn

  • Teckenuppsättning: [ ]
my_string = "My&name&is#John Smith. I%live$in#London."
re.sub(r"[#$%&]", " ", my_string)
'My name is John Smith. I live in London.'
Reguljära uttryck i Python

OR-operand

  • Teckenuppsättning: [ ]
    • ^ gör uttrycket negativt

 

my_links = "Bad website: www.99.com. Favorite site: www.hola.com"
re.findall(r"www[^0-9]+com", my_links)
['www.hola.com']
Reguljära uttryck i Python

Nu kör vi en övning!

Reguljära uttryck i Python

Preparing Video For Download...