Documente Academic
Documente Profesional
Documente Cultură
re.findall('[a-z]+', text.lower())
În informatică, o expresie regulată, denumită pe
scurt regex sau regexp (din engleză - regular
expression), reprezintă un șablon care descrie un
limbaj regulat, adică o mulțime de șiruri de caractere
generată de o gramatică regulată.
.*\.txt
Ghid rapid de Expresii regulate
^ Matches the beginning of a line
$ Matches the end of the line
. Matches any character
\s Matches whitespace
\S Matches any non-whitespace character
* Repeats a character zero or more times
*? Repeats a character zero or more times (non-greedy)
+ Repeats a character one or more times
+? Repeats a character one or more times (non-greedy)
[aeiou] Matches a single character in the listed set
[^XYZ] Matches a single character not in the listed set
[a-z0-9] The set of characters can include a range
( Indicates where string extraction is to start
) Indicates where string extraction is to end
Modulul Expresiilor Regulate
• Inițial trebuie să importați modulul "import re"
• Puteți să utilizați re.search() pentru a vedea
dacă un șir se potrivește cu expresia regulată
similar utilizînd metoda find() pentru șiruri
• Puteți să utilizați metoda re.findall() pentru a
extrage părți de șir ce se potrivesc expresiei
combinate cu find() și felierea: var[5:10]
Utilizare re.search() la fel ca find()
import re
hand = open('mbox-short.txt')
for line in hand: hand = open('mbox-short.txt')
line = line.rstrip() for line in hand:
if line.find('From:') >=0: line = line.rstrip()
print (line) if re.search('^From:', line) :
print (line)
Utilizare re.search() la fel ca
startswith()
import re
hand = open('mbox-short.txt')
hand = open('mbox-short.txt')
for line in hand:
for line in hand:
line = line.rstrip()
line = line.rstrip()
if line.startswith('From:'):
if re.search(‘^From:', line) :
print (line)
print(line)
^X.*:
Mulează orice caracter
Potrivirea (Mularea) și extragerea datelor
[0-9]+
Una sau mai multe cifre
Potrivirea (Mularea) și Extragerea datelor
['From:']
>>>
Extragerea fină a unui subșir dintr-un șir
Putem să redefinim expresia pentru re.findall() și să determinăm
separat care porțiune din expresie să fie extrasă utilizînd parantezele
()
Extragerea fină a unui subșir dintr-un șir
Putem să redefinim expresia pentru re.findall() și să determinăm
separat care porțiune din expresie să fie extrasă utilizînd parantezele
()
['ion.mard@mail.utm.md']
>>>
Extragerea fină a unui subșir dintr-un șir
Parantezele ne arată de unde să începem și unde să
sfârșim extragerea subșirului
['ion.mard@mail.utm.md']
['ion.mard@mail.utm.md']
>>>
Validarea mail-ului
Funcțiile și metodele modulului re
escape(pattern)
Escape all the characters in pattern except ASCII letters, numbers and
'_'.
purge()
Clear the regular expression caches
search(pattern, string, flags=0)
Scan through string looking for a match to the pattern, returning
a match object, or None if no match was found.
template(pattern, flags=0)
Compile a template pattern, returning a pattern object
Verificarea expresiei regulate online
https://regex101.com/
http://
www.regular-expressions.info/python.
html
https://
regexone.com/references/python
v
Validarea e-mailului
Găsirea poziției
Găsirea poziției
Potrivirea la index: 0, 7
Potrivirea la index: 9, 17
Potrivirea la index: 19, 25
>>>
Match at index 0, 7
Full match: June 24
Month: June
Day: 24
>>>
^ matches the beginning of a string.
$ matches the end of a string.
\b matches a word boundary.
\d matches any numeric digit.
\D matches any non-numeric character.
x? matches an optional x character (in other words, it matches an x zero or
one times).
x* matches x zero or more times.
x+ matches x one or more times.
x{n,m} matches an x character at least n times, but not more than m times.
(a|b|c) matches exactly one of a, b or c.
(x) in general is a remembered group. You can get the value of what
matched by using the groups() method of the object returned by re.search.
Șablon pentru a identifica numărul de
telefon
+373 22 34 56 54
+(373) 22 34-56-54
0 0 373 22 345653
0 22 34-56-67
(022) 345467
(022) 34-34-56
022 34.45.67
Sumar
Expresii regulate