Metacaratteri regex

Espressioni regolari in Python

Maria Eugenia Inzaugarat

Data Scientist

Cercare pattern

Due operazioni per cercare una corrispondenza:

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
Espressioni regolari in Python

Caratteri speciali

  • Qualsiasi carattere (tranne newline): .

 

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

re.findall(r"www com", my_links)
Espressioni regolari in Python

Caratteri speciali

  • Qualsiasi carattere (tranne newline): .

 

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

re.findall(r"www.+com", my_links)
['www.amazingpics.com']
Espressioni regolari in Python

Caratteri speciali

  • Inizio stringa: ^
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']
Espressioni regolari in Python

Caratteri speciali

  • Fine stringa: $
my_string = "the 80s music hits were much better that the 90s"
re.findall(r"the\s\d+s$", my_string)
['the 90s']
Espressioni regolari in Python

Caratteri speciali

  • Escape dei caratteri speciali: \
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.']
Espressioni regolari in Python

Operatore OR

  • Carattere: |
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']
Espressioni regolari in Python

Operatore OR

  • Insieme di caratteri: [ ]
my_string = "Yesterday I spent my afternoon with my friends: MaryJohn2 Clary3"
re.findall(r"[a-zA-Z]+\d", my_string)
['MaryJohn2', 'Clary3']
Espressioni regolari in Python

Operatore OR

  • Insieme di caratteri: [ ]
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.'
Espressioni regolari in Python

Operando OR

  • Insieme di caratteri: [ ]
    • ^ rende l'espressione negativa

 

my_links = "Bad website: www.99.com. Favorite site: www.hola.com"
re.findall(r"www[^0-9]+com", my_links)
['www.hola.com']
Espressioni regolari in Python

Vamos praticar!

Espressioni regolari in Python

Preparing Video For Download...