Similar presentations:
Регулярные выражения
1. Регулярные выражения
https://docs.python.org/3/library/index.html2.
3. Назначение
Назначение: описание содержимоготекстовой строки при помощи специальных
правил
4. Синтаксис
1 способimport re
regex= re.compile (“шаблон”)
2 способ
import re
regex= re.compile (r'шаблон')
5. Совпадение вначале -match
import reregex= re.compile ("privet")
str=input()
if (regex.match(str)):
print(‘ДА’)
6. Совпадение вначале
privethtevirpghghGhghghprivetghghghgh
7. Совпадение в любом месте строки -search
import reregex= re.compile ("privet")
str=input()
if (regex. search(str)):
print(‘ДА’)
8.
Совпадение в любом местестроки -search
Ghghghprivetghghghgh,
privethtevirpghgh
chfghprvjghkghkhk
9. [XYZ] - (или X, или Y, или Z)
import reregex = re.compile ( "а[нкл]я" )
Ghghghаняghghghgh
спюрлоакяg576
Ghghghанняghghghgh
спaярлоаaкяg576
10. [^…] -любые символы, кроме
import reregex = re.compile ( "[^bn]log" )
Flog,dlog,plog,
cfhglogcnvm
blog, cvncvnnlog.kjb
11. […-…] - от… до
import reregex = re.compile ( "[a-z]" )
a,b,c,d,….,x,y,z
A,B,C,D,….,X,Y,Z
12. […-…] - от… до
import reregex = re.compile ( "[a-z]kt" )
akt,bkt,ckt,…., kt,zkt
A,B,C,D,….,X,Y,Z
13.
14. ^ -начало
import reregex = re.compile ("^log")
loghtevirpghgh
fhkgjlog, dglogxgj
15. $ -конец
import reregex = re.compile ("log$")
Dhdhloglog,virplog, log
fhkgjlog5, dglogxgj
16. Полное совпадение строки -fullmatch
Полное совпадение строки fullmatchimport re
regex= re.compile ("privet")
str=input()
if (regex. fullmatch(str)):
print(‘ДА’)
17. Полное совпадение
import reregex = re.compile ("^log$")
str=input()
if (regex. search(str)):
print(‘ДА’)
log
fhkgjlog, dglogxgj
18. Спецсимволы
регулярные выраженияимеют спецсимволы,
которые нужно
экранировать.
Вот их список:
.^$*+?{}[]\|()
19. \ -превращает специальный символ в обычный и наоборот
import reregex = re.compile ( "rom\." )
rom.
rom\.
20. \ -превращает специальный символ в обычный и наоборот
import reregex = re.compile ( "[хr]om\." )
import re
regex= re.compile ("^[^s]om\.txt")
21. . -любой символ, кроме перевода строки
import reregex = re.compile ( "ro.ka" )
romka, ro\ka, ro.ka,
выпroыka
romk
22. . -любой символ, кроме перевода строки
import reregex = re.compile ( "ro.ka$" )
import re
regex = re.compile (" \$ro.ka" )
23. * -повторение предыдущего символа ноль и более раз
import reregex = re.compile ( "ro*ka" )
rooka, roooka,rka
24. * -повторение предыдущего символа ноль и более раз
import reregex = re.compile (".*" )
«захватить всё»
import re
regex = re.compile ("\.*" )
25. + -повторение предыдущего символа один и более раз
import reregex = re.compile ("bo+" )
Xzfbo, boгпо
xcb, bzzzz
26. + -повторение предыдущего символа один и более раз
import reregex = re.compile ("^[ak]" )
Начинается с любого из указанных символов
import re
regex = re.compile ("[ak]+" )
Указанные символы встречаются один и более раз
27. ? -повторение предыдущего символа ноль или один раз
import reregex = re.compile (“^bo?$" )
b, bo
bооооо
28.
import reregex= re.compile ("colou?r")
str=“colour”
if (regex.search(str)):
print(‘ДА’)
еlse:
print(‘НЕТ’)
29.
import reregex= re.compile ("colou?r")
str=“color”
if (regex.search(str)):
print(‘ДА’)
еlse:
print(‘НЕТ’)
30. Квантификатор определяет, сколько раз повторяться
?*
+
{2,5}
{2,}
{5,}
{2}
- 0 или 1 раз
- 0 и более раз
- 1 и более раз
- от 2 до 5 раз
- 2 и более раз
- от 0 до 5 раз
- ровно 2 раза
31.
32. | -или
(^bo?)|(\.{5})$…..
,bo, b
33.
34. \s -пробельный символ
\S -непробельный символ35. Использование ИТЕРАТОРА
re.finditer(“шаблон”,”строка”) –выдает все совпадения по
шаблону
import re
s=0
text=input()
regex=re.compile(“шаблон")
for i in re.finditer(regex,text):
s+=1
print(s)