Python re.findall('[a-z]+', text.lower())

Slides:



Advertisements
Similar presentations
Prof.Briciu Daniela Sc.cu cls. I-VIII Luna de Sus
Advertisements

Crearea unei prezentari PowerPoint
Regular Expressions (in Python). Python or Egrep We will use Python. In some scripting languages you can call the command “grep” or “egrep” egrep pattern.
 Ce e bravenet.COM ?  De ce bravenet.COM ?  Avantaje si dezavantaje in folosirea bravenet.COm Grupa 6: Lucian-Eduard Barticel Eduard Giurgiu Iany Ionut.
În general exist ă 2 forme mari de conservare : “in situ” şi “ex situ” 1. Conservarea “ in situ” Aceast ă metod ă de conservare const ă în.
Batalia sexelor O lume dominata de barbati vs o lume dominata de femei.
Present Perfect Continuous prezentare. schema Afirmativ: S + have/has + been + V-ing… Negativ: S + have/has + not + been + V-ing… Interogativ: have/has.
Pattern matching with regular expressions A common file processing requirement is to match strings within the file to a standard form, e.g. address.
Regular Expressions Regular expressions are a language for string patterns. RegEx is integral to many programming languages:  Perl  Python  Javascript.
Python Regular Expressions Easy text processing. Regular Expression  A way of identifying certain String patterns  Formally, a RE is:  a letter or.
REGEX. Problems Have big text file, want to extract data – Phone numbers (503)
CPTG286K Programming - Perl Chapter 7: Regular Expressions.
(passive voice) -prezentare -
I/O Redirection & Regular Expressions CS 2204 Class meeting 4 *Notes by Doug Bowman and other members of the CS faculty at Virginia Tech. Copyright
-Modelul Entitate-Legatura (ER)-
-Limbajul SQL-Interogări complexe, Vederi-
Regular Expressions Upsorn Praphamontripong CS 1110
Strings and Serialization
Looking for Patterns - Finding them with Regular Expressions
CSC 594 Topics in AI – Natural Language Processing
CSC 594 Topics in AI – Natural Language Processing
Subinterogări multiple
Oracle Academy Lead Adjunct
Prof. Elena Răducanu, Colegiul Naţional Bănăţean,Timişoara
Oracle Academy Conversion Functions.
CUPRINS Tastatura Imprimanta Scanner Bibliografie Recapitulare.
IntraShip inovatie, flexibilitate, rapiditate.
Funcţii Excel definite de utilizator (FDU) în VBA
Căutarea şi regăsirea informaţiei.
SOFTWARE Tipuri de software.
Căutarea şi regăsirea informaţiei.
Paxos Made Simple Autor: Puşcaş Radu George
Popiţiu Bogdan Epm An III
REZOLVAREA RELAŢIILOR MANY TO MANY
Past Simple prezentare.
METODA BACKTRACKING Examenul de bacalaureat 2012
Conducător ştiinţific Prof. Dr. Ing. Radu VASIU
WebSite Social Tema 2 WebSite Social.
Problema rucsacului lacom
MANAGEMENT EDUCAŢIONAL PERFORMANT Limbajul de programare Borland Pacal
Tipuri structurate Tipul tablou
Curs 2 1 Sistem de operare-concepte: 2 Apeluri de sistem
Modificarea structurii unei tabele
Curs 6: Introducere în programarea SAS
DETERMINAREA ALCALINITATII SI PH-UL APELOR NATURALE
Formatarea paragrafului
Funcții C/C++ continuare
Sintaxa şi semantica C++
Impulsul mecanic Impulsul mecanic. Teorema conservarii impulsului mecanic.
Citește-mă Acest slide are rolul de a-ți explica modul în care să folosești umătoarele slide-uri. Șterge-l din prezentarea finală. În următoarele slide-uri.
Tehnoredactarea computerizată
INTERNET SERVICII INTERNET.
SOAP Simple Object Access Protocol
Past Perfect Continuous
Forms (Formulare).
Scrierea ecuaţiilor în Microsoft Word
Universitatea POLITEHNICA din București - Curs de 16 ore – Curs 11
Îmbunătăţirea serviciilor publice prin intermediul Chartelor de Servicii: Elaborarea şi implementarea Planurilor de Acţiune pentru Îmbunătăţirea Serviciilor.
A great way to create a channel of communication
Sistemul de prognoză atmosferică RapidRefresh - WRF
Functia de documentare
Căutarea şi regăsirea informaţiei
Cum să particularizați Microsoft SharePoint Site web online
Aplicaţii specializate pentru realizarea unei prezentări – PowerPoint
Refracţia luminii.
Unix Talk #2 grep/egrep/fgrep (maybe add more to this one….)
Schimbă vieți, deschide minți
Funcții NULL.
CS 1111 Introduction to Programming Fall 2018
REGEX.
Presentation transcript:

Python re.findall('[a-z]+', text.lower()) Expresii regulate Python re.findall('[a-z]+', text.lower())

Mulțimea de fișiere textuale În informatică, o expresie regulată, denumită pe scurt regex sau regexp (din engleză de la regular expression), reprezintă un șablon care descrie un limbaj regulat, adică o mulțime de șiruri de caractere generată de o gramatică regulată. Mulțimea de fișiere textuale .*\.txt Athanasiu, Irina; Raiciu, Diana; Sion, Radu; Mocanu, Irina (2002). Limbaje formale și automate. București: Matrix Rom

Cu ajutorul expresiilor regulate se poate de găsit sau înlocuit anumite părţi dintr-un text. Sunt o metodă puternică de verificare a adreselor de e-mail, domenii de internet sau coduri poştale. Un e-mail valid trebuie să se muleze pe un model prestabilit.  Mulțimea de email adrese [a-zA-Z0-9]+@[a-z]+(\.[a-z]+)*\.([a-z]{2,}) Athanasiu, Irina; Raiciu, Diana; Sion, Radu; Mocanu, Irina (2002). Limbaje formale și automate. București: Matrix Rom

Shell-ul Unix Următoarele construcţii în shell sunt pe post de expresii regulate: Orice caracter este o expresie regulată; excepţii sunt semnele de mai jos. Semnul ? ţine locul unui singur caracter, oricare ar fi el. Pentru a scrie chiar caracterul semn de întrebare trebuie să scriem \? Pentru a scrie semnul \ trebuie să scriem \\ Semnul de concatenare este omis. Aşa cum în matematică cîteodată omitem semnul de înmulţire, în shell nu scriem. Astfel, şirul a???b reprezintă toate cuvintele de cinci litere care încep cu a şi se termină cu b. Semnul * nu mai e un operator care se aplică unei expresii; el înseamnă un şir oarecare de zero sau mai multe caractere. Astfel, cînd scriem a*b asta înseamnă: toate şirurile care încep cu a şi se termină cu b. Alternanţa se reprezintă în felul următor:  {R,S,T}. Astfel, expresia {a,b}{c,d} reprezintă patru şiruri: ac, bc, ad, bd. Mihai Budiu, Expresii Regulatehttp://www.cs.cmu.edu/~mihaib/articles/regex/regex-html.html

Shell-ul Unix Exemple: ls .??*  afişează (comanda ls) toate fişierele al căror nume începe cu semnul punct şi are cel puţin trei caractere rm *a*b* şterge toate fişierele care au un a şi un b în nume, în ordinea asta Mihai Budiu, Expresii Regulatehttp://www.cs.cmu.edu/~mihaib/articles/regex/regex-html.html

Shell-ul Unix grep - Get Regular Expression Patterns Semnul . (punct) ţine locul oricărui caracter. Exemplu: a.b înseamnă orice cuvînt de trei litere care începe cu a şi se termină cu b. Parantezele se scriu astfel: \( şi \), şi se pot folosi pentru a schimba ordinea de aplicare a operaţiilor. Semnul de alternanţă este \|, ex. \(a\|b\)c reprezintă cuvintele ac şi bc. Caracterele speciale se prefixează cu \ pentru a fi exprimate; de exemplu, \* reprezintă chiar o steluţă.  [a-f] indica toate caracterele între a şi f, inclusiv: a,b,c,d,e,f.  [^a-f]  - toate caracterele care nu sunt între a şi f.  [acfz]  - unul dintre caracterele a, c, f sau z. Semnul ^ este începutul de linie. Semnul $ este sfîrşitul de linie. Semnul \? se aplică ca steluţa, după o expresie, şi înseamnă: expresia anterioară de zero sau una ori. De exemplu, expresia ab\(c\?\) reprezintă cuvintele ab şi abc. Expresia R repetată de două, trei sau patru ori, astfel: R\{2,4\}. De exemplu, expresia \(ab\)\{1,3\} descrie cuvintele ab, abab şi ababab. Mihai Budiu, Expresii Regulatehttp://www.cs.cmu.edu/~mihaib/articles/regex/regex-html.html

Shell-ul Unix grep - Get Regular Expression Patterns Exemple: Mihai Budiu, Expresii Regulatehttp://www.cs.cmu.edu/~mihaib/articles/regex/regex-html.html

Perl Expresie Semnificaţie \ Următorul meta-caracter devine un caracter obişnuit ^ Început de linie . Orice caracter în afară de newline $ Sfîrşit de linie | Alternanţă () Indică precedenţa operaţiilor [] O mulţime de caractere (ca la grep) * Operatorul star: R* = R de zero sau mai multe ori la rînd + R+ = RR* (R cel puţin o dată) ?  (R de zero sau una ori) {n} R{n} = R exact de n ori {n,} R{n,} = R de cel puţin n ori {n,m} R{n,m} = R de cel puţin n dar cel mult m ori la rînd \t Caracterul tab \n Caracterul sfîrşit de linie R+ =  Athanasiu, Irina; Raiciu, Diana; Sion, Radu; Mocanu, Irina (2002). Limbaje formale și automate. București: Matrix Rom

Perl expression matches... abc abc (that exact character sequence, but anywhere in the string) ^abc abc at the beginning of the string abc$ abc at the end of the string a|b either of a and b ^abc|abc$ the string abc at the beginning or at the end of the string ab{2,4}c an a followed by two, three or four b’s followed by a c ab{2,}c an a followed by at least two b’s followed by a c ab*c an a followed by any number (zero or more) of b’s followed by a c ab+c an a followed by one or more b’s followed by a c ab?c an a followed by an optional b followed by a c; that is, either abc or ac

Perl expression matches... abc abc (that exact character sequence, but anywhere in the string) ^abc abc at the beginning of the string abc$ abc at the end of the string a|b either of a and b ^abc|abc$ the string abc at the beginning or at the end of the string ab{2,4}c an a followed by two, three or four b’s followed by a c ab{2,}c an a followed by at least two b’s followed by a c ab*c an a followed by any number (zero or more) of b’s followed by a c ab+c an a followed by one or more b’s followed by a c ab?c an a followed by an optional b followed by a c; that is, either abc or ac

(https://docs.python.org/2/library/re.html) Python Expresiile regulate (modulul re ) sunt folosite pentru a căuta eficient șiruri de caractere într-un text.  (https://docs.python.org/2/library/re.html) >>> import re >>> print re.match(r"GR(.)?S", "GRIS") <_sre.SRE_Match at 0x7f37acd2c558>

Python Căutarea >>> import re >>> m = re.search(r"Bienvenue chez (?P<chezqui>\w+) ! Tu as (?P<age>\d+) ans ?", "Bienvenue chez olivier ! Tu as 32 ans") >>> if m is not None: ... print m.group('chezqui') ... print m.group('age') http://apprendre-python.com/page-expressions-regulieres-regular-python

Python >>> import re >>> m = re.search(r"Bienvenue chez (?P<chezqui>\w+) ! Tu as (?P<age>\d+) ans ?", "Bienvenue chez olivier ! Tu as 32 ans") >>> if m is not None: ... print m.group('chezqui') ... print m.group('age') ... olivier 32

Python Înlocuirea >>> print re.sub(r"Bienvenue chez (?P<chezqui>\w+) ! Tu as (?P<age>\d+) ans ?", r"\g<chezqui> a \g<age> ans", "Bienvenue chez olivier ! Tu as 32 ans") olivier a 32 ans

Python >>> import re Caută toate >>> import re >>> re.findall("([0-9]+)", "Bonjour 111 Aurevoir 222")

Python >>> import re   >>> import re >>> re.findall("([0-9]+)", "Bonjour 111 Aurevoir 222") ['111', '222']

Python >>> import re >>> text = "ana are 2 mere, primește 5, cumpără 10 și în final are 17." >>> re.findall(r"\d+", text)

Exemple: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19

Mulează Mulează Mulează Nu mulează Mulează Mulează Mulează Mulează 1 2 3 4 5 6 7 8 9 10 Mulează Mulează Nu mulează Mulează Mulează Mulează Mulează Nu mulează Mulează Mulează 11 12 13 14 15 16 17 18 19 Mulează Nu mulează Mulează Mulează Mulează Mulează Mulează Nu mulează

Email valid >>> mails = ["olivier@mailbidon.com", "olivier@mailbidon.ca", "8@mailbidon.com", "@mailbidon.com", "olivier@mailbidon"] >>> regex = re.compile(r"^[a-z0-9._-]+@[a-z0-9._-]+\.[(com|fr)]+" >>> for mail in mails: ... if regex.match(mail) is not None: ... print "Ce mail : %s est valide" % mail ... else: ... print "Erreur ce mail : %s est non valide" % mail

Email valid >>> mails = ["olivier@mailbidon.com", "olivier@mailbidon.ca", "8@mailbidon.com", "@mailbidon.com", "olivier@mailbidon"] >>> regex = re.compile(r"^[a-z0-9._-]+@[a-z0-9._-]+\.[(com|fr)]+" >>> for mail in mails: ... if regex.match(mail) is not None: ... print "Ce mail : %s est valide" % mail ... else: ... print "Erreur ce mail : %s est non valide" % mail Ce mail : olivier@mailbidon.com est valide Erreur ce mail : olivier@mailbidon.ca est non valide Ce mail : 8@mailbidon.com est valide Erreur ce mail : @mailbidon.com est non valide Erreur ce mail : olivier@mailbidon est non valide

Verificarea http://pythex.org/

Exemple Catwoman Batman The Tick Spider Man Black Cat Batgirl Danger Girl Wonder Woman Luke Cage The Punisher Ant Man Dead Girl Aquaman SCUD Spider Woman Blackbolt Martian Manhunter

Exemple re.findall('man', text.lower()) Catwoman Batman The Tick Spider Man Black Cat Batgirl Danger Girl Wonder Woman Luke Cage The Punisher Ant Man Dead Girl Aquaman SCUD Spider Woman Blackbolt Martian Manhunter re.findall('man', text.lower())

Exemple re.findall('a.a', text) Catwoman Batman The Tick Spider Man Black Cat Batgirl Danger Girl Wonder Woman Luke Cage The Punisher Ant Man Dead Girl Aquaman SCUD Spider Woman Blackbolt Martian Manhunter re.findall('a.a', text)

Exemple re.findall(‘[A-Z][a-z]+\s[A-Z][a-z]+', text) Catwoman Batman The Tick Spider Man Black Cat Batgirl Danger Girl Wonder Woman Luke Cage The Punisher Ant Man Dead Girl Aquaman SCUD Spider Woman Blackbolt Martian Manhunter re.findall(‘[A-Z][a-z]+\s[A-Z][a-z]+', text)

Exemple re.findall(‘[A-Z][a-z]+(\s[A-Z][a-z]+)?', text) Catwoman Batman The Tick Spider Man Black Cat Batgirl Danger Girl Wonder Woman Luke Cage The Punisher Ant Man Dead Girl Aquaman SCUD Spider Woman Blackbolt Martian Manhunter re.findall(‘[A-Z][a-z]+(\s[A-Z][a-z]+)?', text)