🗊Презентация Описание Python 01

Нажмите для полного просмотра!
Описание Python 01, слайд №1Описание Python 01, слайд №2Описание Python 01, слайд №3Описание Python 01, слайд №4Описание Python 01, слайд №5Описание Python 01, слайд №6Описание Python 01, слайд №7Описание Python 01, слайд №8Описание Python 01, слайд №9Описание Python 01, слайд №10Описание Python 01, слайд №11Описание Python 01, слайд №12Описание Python 01, слайд №13Описание Python 01, слайд №14Описание Python 01, слайд №15Описание Python 01, слайд №16Описание Python 01, слайд №17Описание Python 01, слайд №18Описание Python 01, слайд №19Описание Python 01, слайд №20Описание Python 01, слайд №21Описание Python 01, слайд №22Описание Python 01, слайд №23Описание Python 01, слайд №24Описание Python 01, слайд №25Описание Python 01, слайд №26Описание Python 01, слайд №27Описание Python 01, слайд №28Описание Python 01, слайд №29Описание Python 01, слайд №30Описание Python 01, слайд №31Описание Python 01, слайд №32Описание Python 01, слайд №33Описание Python 01, слайд №34Описание Python 01, слайд №35Описание Python 01, слайд №36Описание Python 01, слайд №37Описание Python 01, слайд №38Описание Python 01, слайд №39Описание Python 01, слайд №40Описание Python 01, слайд №41Описание Python 01, слайд №42Описание Python 01, слайд №43Описание Python 01, слайд №44Описание Python 01, слайд №45Описание Python 01, слайд №46Описание Python 01, слайд №47Описание Python 01, слайд №48Описание Python 01, слайд №49Описание Python 01, слайд №50Описание Python 01, слайд №51Описание Python 01, слайд №52Описание Python 01, слайд №53Описание Python 01, слайд №54Описание Python 01, слайд №55Описание Python 01, слайд №56Описание Python 01, слайд №57Описание Python 01, слайд №58Описание Python 01, слайд №59Описание Python 01, слайд №60Описание Python 01, слайд №61Описание Python 01, слайд №62Описание Python 01, слайд №63Описание Python 01, слайд №64Описание Python 01, слайд №65Описание Python 01, слайд №66

Содержание

Вы можете ознакомиться и скачать презентацию на тему Описание Python 01. Доклад-сообщение содержит 66 слайдов. Презентации для любого класса можно скачать бесплатно. Если материал и наш сайт презентаций Mypresentation Вам понравились – поделитесь им с друзьями с помощью социальных кнопок и добавьте в закладки в своем браузере.

Слайды и текст этой презентации


Слайд 1





Python 01
re
Описание слайда:
Python 01 re

Слайд 2


Описание Python 01, слайд №2
Описание слайда:

Слайд 3






r‘.’
r‘[.]’
‘hello python hello’
‘^hello’ ‘hello$’
Описание слайда:
r‘.’ r‘[.]’ ‘hello python hello’ ‘^hello’ ‘hello$’

Слайд 4


Описание Python 01, слайд №4
Описание слайда:

Слайд 5





match() & group()
>>> import re
>>> a='Hello Python Hello Django'
>>> res1=re.match(r'Hello',a)
>>> res1
<_sre.SRE_Match object; span=(0, 5), match='Hello'>
>>> print(res1)
<_sre.SRE_Match object; span=(0, 5), match='Hello'>
>>> res2=res1.group(0)
>>> print (res2)
Hello
>>> 
>>> res3=res1.group()
>>> res3
'Hello'
Описание слайда:
match() & group() >>> import re >>> a='Hello Python Hello Django' >>> res1=re.match(r'Hello',a) >>> res1 <_sre.SRE_Match object; span=(0, 5), match='Hello'> >>> print(res1) <_sre.SRE_Match object; span=(0, 5), match='Hello'> >>> res2=res1.group(0) >>> print (res2) Hello >>> >>> res3=res1.group() >>> res3 'Hello'

Слайд 6





compile()
>>> b=re.compile('Hello')
>>> res11=b.findall(a)
>>> res11_=re.findall(r'Hello',a)
>>> res11
['Hello', 'Hello']
Описание слайда:
compile() >>> b=re.compile('Hello') >>> res11=b.findall(a) >>> res11_=re.findall(r'Hello',a) >>> res11 ['Hello', 'Hello']

Слайд 7





Поиск по шаблону и поиск позиции
>>> p1=re.compile('[a-z]+')
>>> p1
re.compile('[a-z]+')
>>> print(p1)
re.compile('[a-z]+')
>>> m1=p1.match('hello')
>>> m1
<_sre.SRE_Match object; span=(0, 5), match='hello'>
>>> print(m1.group())
hello
>>> print(m1.span())
(0, 5)
Описание слайда:
Поиск по шаблону и поиск позиции >>> p1=re.compile('[a-z]+') >>> p1 re.compile('[a-z]+') >>> print(p1) re.compile('[a-z]+') >>> m1=p1.match('hello') >>> m1 <_sre.SRE_Match object; span=(0, 5), match='hello'> >>> print(m1.group()) hello >>> print(m1.span()) (0, 5)

Слайд 8





search() & findall()
>>> res4=re.match(r'Python',a)
>>> res4
>>> print(res4)
None
>>> res5=re.search(r'Python',a)
>>> print(res5.group())
Python
>>> a=a+' Hello'
>>> a
'Hello Python Hello Django Hello'
>>> res6=re.findall('Hello',a)
>>> print(res6)
['Hello', 'Hello', 'Hello']
>>>
Описание слайда:
search() & findall() >>> res4=re.match(r'Python',a) >>> res4 >>> print(res4) None >>> res5=re.search(r'Python',a) >>> print(res5.group()) Python >>> a=a+' Hello' >>> a 'Hello Python Hello Django Hello' >>> res6=re.findall('Hello',a) >>> print(res6) ['Hello', 'Hello', 'Hello'] >>>

Слайд 9





Поиск по шаблону
>>> p2=re.compile('\d+')
>>> p1=re.compile('[0-9]+')
>>> a3='1 Hello 2 Python, 3 Hello 4 Django'
>>> p1.findall(a3)
['1', '2', '3', '4']
>>> p2.findall(a3)
['1', '2', '3', '4']
>>>
Описание слайда:
Поиск по шаблону >>> p2=re.compile('\d+') >>> p1=re.compile('[0-9]+') >>> a3='1 Hello 2 Python, 3 Hello 4 Django' >>> p1.findall(a3) ['1', '2', '3', '4'] >>> p2.findall(a3) ['1', '2', '3', '4'] >>>

Слайд 10





Итератор finditer()
>>> iterator=p1.finditer(a3)
>>> for i in iterator:
	print (i.span(),' ',i.group())
#>>> iterator=p1.finditer(a3)
#>>> for i in iterator:
#	print (i.group())
	
(0, 1)   1
(8, 9)   2
(18, 19)   3
(26, 27)   4
Описание слайда:
Итератор finditer() >>> iterator=p1.finditer(a3) >>> for i in iterator: print (i.span(),' ',i.group()) #>>> iterator=p1.finditer(a3) #>>> for i in iterator: # print (i.group()) (0, 1) 1 (8, 9) 2 (18, 19) 3 (26, 27) 4

Слайд 11





split(), 
maxsplit – число разделений строки
>>> res7=re.split('Hello',a)
>>> res7
['', ' Python ', ' Django ', '']
>>> res9=re.split('Hello',a,maxsplit=1)
>>> res9
['', ' Python Hello Django Hello']
>>> res9=re.split('Hello',a,maxsplit=2)
>>> res9
['', ' Python ', ' Django Hello']
>>>
Описание слайда:
split(), maxsplit – число разделений строки >>> res7=re.split('Hello',a) >>> res7 ['', ' Python ', ' Django ', ''] >>> res9=re.split('Hello',a,maxsplit=1) >>> res9 ['', ' Python Hello Django Hello'] >>> res9=re.split('Hello',a,maxsplit=2) >>> res9 ['', ' Python ', ' Django Hello'] >>>

Слайд 12





sub()
>>> res10=re.sub('WOW', 'Hello',a)
>>> res10
'Hello Python Hello Django Hello'
>>> res10=re.sub('Hello','WOW',a)
>>> res10
'WOW Python WOW Django WOW'
Описание слайда:
sub() >>> res10=re.sub('WOW', 'Hello',a) >>> res10 'Hello Python Hello Django Hello' >>> res10=re.sub('Hello','WOW',a) >>> res10 'WOW Python WOW Django WOW'

Слайд 13





sub() & compile()
>>> p=re.compile(r'(exe|py|htm|html)')
>>> p.sub('files','i can use exe')
'i can use files'
>>> p.sub('files','i can use exe and py')
'i can use files and files'
>>> p.sub('files','i can use exe and py',count=1)
'i can use files and py'
Описание слайда:
sub() & compile() >>> p=re.compile(r'(exe|py|htm|html)') >>> p.sub('files','i can use exe') 'i can use files' >>> p.sub('files','i can use exe and py') 'i can use files and files' >>> p.sub('files','i can use exe and py',count=1) 'i can use files and py'

Слайд 14





Вставка разделителей
>>> p=re.compile('x*')
>>> p.sub('-','abcdefg')
'-a-b-c-d-e-f-g-'
Описание слайда:
Вставка разделителей >>> p=re.compile('x*') >>> p.sub('-','abcdefg') '-a-b-c-d-e-f-g-'

Слайд 15





Смена десятичной размерности на шестнадцатеричную в строке
>>> def change(m):
	val=int(m.group())
	return hex(val)
>>> p=re.compile(r'\d+')
>>> p.sub(change,'1000 pages in 10 sites')
'0x3e8 pages in 0xa sites'
Описание слайда:
Смена десятичной размерности на шестнадцатеричную в строке >>> def change(m): val=int(m.group()) return hex(val) >>> p=re.compile(r'\d+') >>> p.sub(change,'1000 pages in 10 sites') '0x3e8 pages in 0xa sites'

Слайд 16





match() & search()
>>> print(re.match('super','superclass').span())
(0, 5)
>>> print(re.match('super','superclass').group())
super
>>> print(re.match('super','exsuperclass').span())
Traceback (most recent call last):
  File "<pyshell#389>", line 1, in <module>
    print(re.match('super','exsuperclass').span())
AttributeError: 'NoneType' object has no attribute 'span'
>>> print(re.search('super','exsuperclass').span())
(2, 7)
>>> print(re.search('super','exsuperclass').group())
super
Описание слайда:
match() & search() >>> print(re.match('super','superclass').span()) (0, 5) >>> print(re.match('super','superclass').group()) super >>> print(re.match('super','exsuperclass').span()) Traceback (most recent call last): File "<pyshell#389>", line 1, in <module> print(re.match('super','exsuperclass').span()) AttributeError: 'NoneType' object has no attribute 'span' >>> print(re.search('super','exsuperclass').span()) (2, 7) >>> print(re.search('super','exsuperclass').group()) super

Слайд 17





 subn()
>>> p=re.compile(r'(exe|py|htm|html)')
>>> p.subn('files','i can use exe files')
('i can use files files', 1)
>>> p.subn('files','i can use py and exe')
('i can use files and files', 2)
Описание слайда:
 subn() >>> p=re.compile(r'(exe|py|htm|html)') >>> p.subn('files','i can use exe files') ('i can use files files', 1) >>> p.subn('files','i can use py and exe') ('i can use files and files', 2)

Слайд 18





Поиск всех символов, символов без пробелов, слов, слов в начале и конце строки
>>> res12=re.findall(r'.',a, re.DOTALL)
>>> print(res12)
['H', 'e', 'l', 'l', 'o', ' ', 'P', 'y', 't', 'h', 'o', 'n', ' ', 'H', 'e', 'l', 'l', 'o', ' ', 'D', 'j', 'a', 'n', 'g', 'o', ' ', 'H', 'e', 'l', 'l', 'o']
>>> res13=re.findall(r'\w',a)
>>> print(res13)
['H', 'e', 'l', 'l', 'o', 'P', 'y', 't', 'h', 'o', 'n', 'H', 'e', 'l', 'l', 'o', 'D', 'j', 'a', 'n', 'g', 'o', 'H', 'e', 'l', 'l', 'o']
>>> res14=re.findall(r'\w+',a)
>>> print(res14)
['Hello', 'Python', 'Hello', 'Django', 'Hello']
>>> res15=re.findall('^\w+',a)
>>> res15
['Hello']
>>> res16=re.findall('\w+$',a)
>>> res16
['Hello']
Описание слайда:
Поиск всех символов, символов без пробелов, слов, слов в начале и конце строки >>> res12=re.findall(r'.',a, re.DOTALL) >>> print(res12) ['H', 'e', 'l', 'l', 'o', ' ', 'P', 'y', 't', 'h', 'o', 'n', ' ', 'H', 'e', 'l', 'l', 'o', ' ', 'D', 'j', 'a', 'n', 'g', 'o', ' ', 'H', 'e', 'l', 'l', 'o'] >>> res13=re.findall(r'\w',a) >>> print(res13) ['H', 'e', 'l', 'l', 'o', 'P', 'y', 't', 'h', 'o', 'n', 'H', 'e', 'l', 'l', 'o', 'D', 'j', 'a', 'n', 'g', 'o', 'H', 'e', 'l', 'l', 'o'] >>> res14=re.findall(r'\w+',a) >>> print(res14) ['Hello', 'Python', 'Hello', 'Django', 'Hello'] >>> res15=re.findall('^\w+',a) >>> res15 ['Hello'] >>> res16=re.findall('\w+$',a) >>> res16 ['Hello']

Слайд 19






>>> res17=re.findall('\w*',a)
>>> res17
['Hello', '', 'Python', '', 'Hello', '', 'Django', '', 'Hello', '']
Описание слайда:
>>> res17=re.findall('\w*',a) >>> res17 ['Hello', '', 'Python', '', 'Hello', '', 'Django', '', 'Hello', '']

Слайд 20





Первые три символа каждого слова
>>> res18=re.findall('\w'*3,a)
>>> res18
['Hel', 'Pyt', 'hon', 'Hel', 'Dja', 'ngo', 'Hel']
>>> res18=re.findall('\w\w\w',a)
>>> res18
['Hel', 'Pyt', 'hon', 'Hel', 'Dja', 'ngo', 'Hel']
Описание слайда:
Первые три символа каждого слова >>> res18=re.findall('\w'*3,a) >>> res18 ['Hel', 'Pyt', 'hon', 'Hel', 'Dja', 'ngo', 'Hel'] >>> res18=re.findall('\w\w\w',a) >>> res18 ['Hel', 'Pyt', 'hon', 'Hel', 'Dja', 'ngo', 'Hel']

Слайд 21





Первые символы, используя границу слова \b
>>> res19=re.findall(r'\b\w.',a)
>>> res19
['He', 'Py', 'He', 'Dj', 'He']
>>> res19=re.findall('\\b\\w.',a)
>>> res19
['He', 'Py', 'He', 'Dj', 'He']
>>> res19=re.findall('\b\w.',a)
>>> res19
[]
Описание слайда:
Первые символы, используя границу слова \b >>> res19=re.findall(r'\b\w.',a) >>> res19 ['He', 'Py', 'He', 'Dj', 'He'] >>> res19=re.findall('\\b\\w.',a) >>> res19 ['He', 'Py', 'He', 'Dj', 'He'] >>> res19=re.findall('\b\w.',a) >>> res19 []

Слайд 22





Извлечение имен доменов
>>> c1='vasya@mail.ru petya@yandex.ru seryazha@gmail.com'
>>> c2=r'http://www.ifmo.ru http://openedu.ru http://python.org'
>>> res20=re.findall(r'@\w+',c1)
>>> res20
['@mail', '@yandex', '@gmail']
>>> res20=re.findall(r'@\w+.\w+',c1)
>>> res20=re.findall(r'@\w+[.]w+',c1)
>>> res20
['@mail.ru', '@yandex.ru', '@gmail.com']
>>> res21=re.findall(r'\w+.(\w+)',c1)
>>> res21
['mail', 'petya', 'ru', 'gmail', 'm']
>>> res21=re.findall(r'@\w+.(\w+)',c1)
>>> res21
['ru', 'ru', 'com']
Описание слайда:
Извлечение имен доменов >>> c1='vasya@mail.ru petya@yandex.ru seryazha@gmail.com' >>> c2=r'http://www.ifmo.ru http://openedu.ru http://python.org' >>> res20=re.findall(r'@\w+',c1) >>> res20 ['@mail', '@yandex', '@gmail'] >>> res20=re.findall(r'@\w+.\w+',c1) >>> res20=re.findall(r'@\w+[.]w+',c1) >>> res20 ['@mail.ru', '@yandex.ru', '@gmail.com'] >>> res21=re.findall(r'\w+.(\w+)',c1) >>> res21 ['mail', 'petya', 'ru', 'gmail', 'm'] >>> res21=re.findall(r'@\w+.(\w+)',c1) >>> res21 ['ru', 'ru', 'com']

Слайд 23






>>> res22=re.findall(r'http://(\w+).(\w+)',c2)
>>> res22
[('www', 'ifmo'), ('openedu', 'ru'), ('python', 'org')]
Описание слайда:
>>> res22=re.findall(r'http://(\w+).(\w+)',c2) >>> res22 [('www', 'ifmo'), ('openedu', 'ru'), ('python', 'org')]

Слайд 24





Извлечение телефонных номеров и последних знаков номеров
>>> d1='Vasya 222-22-22 Petya 333-33-33 Seryezha 444-44-44'
>>> res23=re.findall(r'\d{3}-\d{2}-\d{2}',d1)
>>> res23
['222-22-22', '333-33-33', '444-44-44']
>>> res23=re.findall(r'\d{3}-\d{2}-(\d{2})',d1)
>>> res23
['22', '33', '44']
>>> res23=re.findall(r'\d{3}-(\d{2})-(\d{2})',d1)
>>> res23
[('22', '22'), ('33', '33'), ('44', '44')]
>>> res23=re.findall(r'\d{3}-(\d{2}-\d{2})',d1)
>>> res23
['22-22', '33-33', '44-44']
Описание слайда:
Извлечение телефонных номеров и последних знаков номеров >>> d1='Vasya 222-22-22 Petya 333-33-33 Seryezha 444-44-44' >>> res23=re.findall(r'\d{3}-\d{2}-\d{2}',d1) >>> res23 ['222-22-22', '333-33-33', '444-44-44'] >>> res23=re.findall(r'\d{3}-\d{2}-(\d{2})',d1) >>> res23 ['22', '33', '44'] >>> res23=re.findall(r'\d{3}-(\d{2})-(\d{2})',d1) >>> res23 [('22', '22'), ('33', '33'), ('44', '44')] >>> res23=re.findall(r'\d{3}-(\d{2}-\d{2})',d1) >>> res23 ['22-22', '33-33', '44-44']

Слайд 25


Описание Python 01, слайд №25
Описание слайда:

Слайд 26





Поиск по набору символов
>>> a=a.replace('Hello', 'Yellow')
>>> a
'Yellow Python Yellow Django Yellow'
>>> res24=re.findall(r'\w+',a)
>>> res24
['Yellow', 'Python', 'Yellow', 'Django', 'Yellow']
>>> res24=re.findall(r'[yYdD]\w+',a)
>>> res24
['Yellow', 'ython', 'Yellow', 'Django', 'Yellow']
>>> res24=re.findall(r'\b[yYdD]\w+',a)
>>> res24
['Yellow', 'Yellow', 'Django', 'Yellow']
Описание слайда:
Поиск по набору символов >>> a=a.replace('Hello', 'Yellow') >>> a 'Yellow Python Yellow Django Yellow' >>> res24=re.findall(r'\w+',a) >>> res24 ['Yellow', 'Python', 'Yellow', 'Django', 'Yellow'] >>> res24=re.findall(r'[yYdD]\w+',a) >>> res24 ['Yellow', 'ython', 'Yellow', 'Django', 'Yellow'] >>> res24=re.findall(r'\b[yYdD]\w+',a) >>> res24 ['Yellow', 'Yellow', 'Django', 'Yellow']

Слайд 27





Инвертирование группы
>>> res24=re.findall(r'\b[^yYdD]\w+',a)
>>> res24
[' Python', ' Yellow', ' Django', ' Yellow']
>>> res24=re.findall(r'\b[^yYdD ]\w+',a)
>>> res24
['Python']
Описание слайда:
Инвертирование группы >>> res24=re.findall(r'\b[^yYdD]\w+',a) >>> res24 [' Python', ' Yellow', ' Django', ' Yellow'] >>> res24=re.findall(r'\b[^yYdD ]\w+',a) >>> res24 ['Python']

Слайд 28





Проверка на правильно введенный телефонный номер
>>> t1='9513511 93279-19 95004x45'
>>> t2=t1.split(' ')
>>> t2
['9513511', '93279-19', '95004x45']
>>> for i in t2:
	if re.match(r'[1-9]{1}[0-9]{6}',i)and len(i)==7:
		print(i,' yes')
	else:
		print(i, ' no')
		
9513511  yes
93279-19  no
95004x45  no
Описание слайда:
Проверка на правильно введенный телефонный номер >>> t1='9513511 93279-19 95004x45' >>> t2=t1.split(' ') >>> t2 ['9513511', '93279-19', '95004x45'] >>> for i in t2: if re.match(r'[1-9]{1}[0-9]{6}',i)and len(i)==7: print(i,' yes') else: print(i, ' no') 9513511 yes 93279-19 no 95004x45 no

Слайд 29





Использование нескольких разделителей и замена их пробелами
>>> a
'Yellow Python Yellow Django Yellow'
>>> res01=re.sub(r'[eo]',' ',a)
>>> res01
'Y ll w Pyth n Y ll w Djang  Y ll w'
Описание слайда:
Использование нескольких разделителей и замена их пробелами >>> a 'Yellow Python Yellow Django Yellow' >>> res01=re.sub(r'[eo]',' ',a) >>> res01 'Y ll w Pyth n Y ll w Djang Y ll w'

Слайд 30





Проверка на наличие <h1></h1>
t1=r'<html><head><title>Hello</title></head><body><h1>MyPage</h1><td>1IvanIvanov2PetrPetrov3SidorSidorov</td></body></html>'
>>> res03=re.findall(r'<h\d+>|</h\d+>',t1)
>>> res03
['<h1>', '</h1>']
Описание слайда:
Проверка на наличие <h1></h1> t1=r'<html><head><title>Hello</title></head><body><h1>MyPage</h1><td>1IvanIvanov2PetrPetrov3SidorSidorov</td></body></html>' >>> res03=re.findall(r'<h\d+>|</h\d+>',t1) >>> res03 ['<h1>', '</h1>']

Слайд 31





Поиск имен и Фамилий в тексте
>>> res04=re.findall(r'\d([A-Z][A-Za-z]+)',t1)
>>> res04
['IvanIvanov', 'PetrPetrov', 'SidorSidorov']
>>> res04=re.findall(r'\d([A-Z][A-Za-z]+)([A-Z][A-Za-z]+)',t1)
>>> res04
[('Ivan', 'Ivanov'), ('Petr', 'Petrov'), ('Sidor', 'Sidorov')]
>>> res05=dict(res04)
>>> res05
{'Ivan': 'Ivanov', 'Petr': 'Petrov', 'Sidor': 'Sidorov'}
Описание слайда:
Поиск имен и Фамилий в тексте >>> res04=re.findall(r'\d([A-Z][A-Za-z]+)',t1) >>> res04 ['IvanIvanov', 'PetrPetrov', 'SidorSidorov'] >>> res04=re.findall(r'\d([A-Z][A-Za-z]+)([A-Z][A-Za-z]+)',t1) >>> res04 [('Ivan', 'Ivanov'), ('Petr', 'Petrov'), ('Sidor', 'Sidorov')] >>> res05=dict(res04) >>> res05 {'Ivan': 'Ivanov', 'Petr': 'Petrov', 'Sidor': 'Sidorov'}

Слайд 32





Дополнительные флаги
Описание слайда:
Дополнительные флаги

Слайд 33





Учет записи в несколько строк
>>> a4='''1 Hello
2 Python
3 Hello
4 Django'''
>>> p3=re.compile('^\d+')
>>> p3.findall(a4)
['1']
>>> p3.findall(a4,re.MULTILINE) # не спасает
[]
>>> p3=re.compile('^\d+',re.MULTILINE)
>>> p3.findall(a4)
['1', '2', '3', '4']
Описание слайда:
Учет записи в несколько строк >>> a4='''1 Hello 2 Python 3 Hello 4 Django''' >>> p3=re.compile('^\d+') >>> p3.findall(a4) ['1'] >>> p3.findall(a4,re.MULTILINE) # не спасает [] >>> p3=re.compile('^\d+',re.MULTILINE) >>> p3.findall(a4) ['1', '2', '3', '4']

Слайд 34





Аналогичный поиск без созданного ранее шаблона
>>> res=re.findall('^\d+',a4,re.MULTILINE)
>>> res
['1', '2', '3', '4']
>>> res=re.findall('^\d+',a4)
>>> res
['1']
Описание слайда:
Аналогичный поиск без созданного ранее шаблона >>> res=re.findall('^\d+',a4,re.MULTILINE) >>> res ['1', '2', '3', '4'] >>> res=re.findall('^\d+',a4) >>> res ['1']

Слайд 35





re.IGNORECASE
>>> a5='Hello python Hello django'
>>> res=re.findall('[A-Z]',a5)
>>> res
['H', 'H']
>>> res=re.findall('[A-Z]',a5,re.IGNORECASE)
>>> res
['H', 'e', 'l', 'l', 'o', 'p', 'y', 't', 'h', 'o', 'n', 'H', 'e', 'l', 'l', 'o', 'd', 'j', 'a', 'n', 'g', 'o']
>>> res=re.findall('([A-Z]+)',a5,re.IGNORECASE)
>>> res
['Hello', 'python', 'Hello', 'django']
Описание слайда:
re.IGNORECASE >>> a5='Hello python Hello django' >>> res=re.findall('[A-Z]',a5) >>> res ['H', 'H'] >>> res=re.findall('[A-Z]',a5,re.IGNORECASE) >>> res ['H', 'e', 'l', 'l', 'o', 'p', 'y', 't', 'h', 'o', 'n', 'H', 'e', 'l', 'l', 'o', 'd', 'j', 'a', 'n', 'g', 'o'] >>> res=re.findall('([A-Z]+)',a5,re.IGNORECASE) >>> res ['Hello', 'python', 'Hello', 'django']

Слайд 36





 Группа без захвата содержимого
>>> m1=re.match('([dh])+','hellow python')
>>> m1
<_sre.SRE_Match object; span=(0, 1), match='h'>
>>> m1.groups()
('h',)
>>> m2=re.match('(?:[dh])+','hellow python')
>>> m2.groups()
()
Описание слайда:
 Группа без захвата содержимого >>> m1=re.match('([dh])+','hellow python') >>> m1 <_sre.SRE_Match object; span=(0, 1), match='h'> >>> m1.groups() ('h',) >>> m2=re.match('(?:[dh])+','hellow python') >>> m2.groups() ()

Слайд 37





Именованные группы
>>> p=re.compile(r'(?P<gname>\b\w+\b)')
>>> m=p.search('Hello python')
>>> m.group()
'Hello'
>>> m.group('gname')
'Hello'
>>> m.group(1)
'Hello'
>>> m.group(0)
'Hello'
>>>
Описание слайда:
Именованные группы >>> p=re.compile(r'(?P<gname>\b\w+\b)') >>> m=p.search('Hello python') >>> m.group() 'Hello' >>> m.group('gname') 'Hello' >>> m.group(1) 'Hello' >>> m.group(0) 'Hello' >>>

Слайд 38





Простые опережающие проверки
(?=...) Положительная проверка
(?!...) Отрицательное проверка
Описание слайда:
Простые опережающие проверки (?=...) Положительная проверка (?!...) Отрицательное проверка

Слайд 39





Опережающие проверки шаблона
Описание слайда:
Опережающие проверки шаблона

Слайд 40






>>> a='Python 3.3 Python 2.7 Python 3.5 Python 3.6'
>>> p=re.compile('Python (?=3)')
>>> p.findall(a)
['Python ', 'Python ', 'Python ']  
# нашлись Python за которым идет 3
>>> p=re.compile('Python (?!3)')
>>> p.findall(a)
['Python '] 
#нашлись Python за которым не идет 3
Описание слайда:
>>> a='Python 3.3 Python 2.7 Python 3.5 Python 3.6' >>> p=re.compile('Python (?=3)') >>> p.findall(a) ['Python ', 'Python ', 'Python '] # нашлись Python за которым идет 3 >>> p=re.compile('Python (?!3)') >>> p.findall(a) ['Python '] #нашлись Python за которым не идет 3

Слайд 41






>>> a='Python3.3 Python2.7 Flask1.0 Python3.6 Django1.7 Python1.1'
>>> p=re.compile('(?<=Python)1')
>>> p.findall(a)
['1']
#1 но только если Python
>>> p=re.compile('(?<!Python)1')
>>> p.findall(a)
['1', '1', '1']
#1 но только если  не Python
Описание слайда:
>>> a='Python3.3 Python2.7 Flask1.0 Python3.6 Django1.7 Python1.1' >>> p=re.compile('(?<=Python)1') >>> p.findall(a) ['1'] #1 но только если Python >>> p=re.compile('(?<!Python)1') >>> p.findall(a) ['1', '1', '1'] #1 но только если не Python

Слайд 42





Проверка на имя файла
>>> p=re.compile(r'.*[.].*$')
>>> m=p.search('hello.exe')
>>> m.group()
'hello.exe‘
>>> m=p.search('hello')
>>> m.group()
Traceback (most recent call last):
  File "<pyshell#348>", line 1, in <module>
    m.group()
AttributeError: 'NoneType' object has no attribute 'group'
Описание слайда:
Проверка на имя файла >>> p=re.compile(r'.*[.].*$') >>> m=p.search('hello.exe') >>> m.group() 'hello.exe‘ >>> m=p.search('hello') >>> m.group() Traceback (most recent call last): File "<pyshell#348>", line 1, in <module> m.group() AttributeError: 'NoneType' object has no attribute 'group'

Слайд 43





Проверка на расширение файла не exe
>>> p=re.compile(r'.*[.](?!exe$).*$')
>>> m=p.search('hello.py')
>>> m.group()
'hello.py'
>>> m=p.search('hello.exe')
>>> m.group()
Traceback (most recent call last):
  File "<pyshell#354>", line 1, in <module>
    m.group()
AttributeError: 'NoneType' object has no attribute 'group‘
p=re.compile(r'.*[.](?!exe$|py$).*$') # поиск не exe и не py
Описание слайда:
Проверка на расширение файла не exe >>> p=re.compile(r'.*[.](?!exe$).*$') >>> m=p.search('hello.py') >>> m.group() 'hello.py' >>> m=p.search('hello.exe') >>> m.group() Traceback (most recent call last): File "<pyshell#354>", line 1, in <module> m.group() AttributeError: 'NoneType' object has no attribute 'group‘ p=re.compile(r'.*[.](?!exe$|py$).*$') # поиск не exe и не py

Слайд 44





Работа match() с html
>>> h1=r'<html> <head> <title> Hello </title> </head> <body> <h1> Hi!</h1></body></html>‘
>>> len(h1)
79
>>> print(re.match(r'<.*>',h1).span())
(0, 79)
>>> print(re.match(r'<.*>',h1).group())
<html> <head> <title> Hello </title> </head> <body> <h1> Hi!</h1></body></html>
>>> print(re.match(r'<.*?>',h1).span())
(0, 6)
>>> print(re.match(r'<.*?>',h1).group())
<html>
Описание слайда:
Работа match() с html >>> h1=r'<html> <head> <title> Hello </title> </head> <body> <h1> Hi!</h1></body></html>‘ >>> len(h1) 79 >>> print(re.match(r'<.*>',h1).span()) (0, 79) >>> print(re.match(r'<.*>',h1).group()) <html> <head> <title> Hello </title> </head> <body> <h1> Hi!</h1></body></html> >>> print(re.match(r'<.*?>',h1).span()) (0, 6) >>> print(re.match(r'<.*?>',h1).group()) <html>

Слайд 45





ect
>>> re.match(r'\w+@\w+\.\w+','vasya@ru')
>>> re.match(r'\w+@\w+\.\w+','vasya@mail.ru')
<_sre.SRE_Match object; span=(0, 13), match='vasya@mail.ru'>
>>> p=re.compile(r'\w+@\w+\.\w+')
>>> p.match('vasya@mail.ru')
<_sre.SRE_Match object; span=(0, 13), match='vasya@mail.ru'>
>>> p.match('vasya@ru')
Описание слайда:
ect >>> re.match(r'\w+@\w+\.\w+','vasya@ru') >>> re.match(r'\w+@\w+\.\w+','vasya@mail.ru') <_sre.SRE_Match object; span=(0, 13), match='vasya@mail.ru'> >>> p=re.compile(r'\w+@\w+\.\w+') >>> p.match('vasya@mail.ru') <_sre.SRE_Match object; span=(0, 13), match='vasya@mail.ru'> >>> p.match('vasya@ru')

Слайд 46






>>> p2=re.compile(r'\w+@\w+[.]\w+')
>>> p2.match('vasya@mail.ru')
<_sre.SRE_Match object; span=(0, 13), match='vasya@mail.ru'>
Описание слайда:
>>> p2=re.compile(r'\w+@\w+[.]\w+') >>> p2.match('vasya@mail.ru') <_sre.SRE_Match object; span=(0, 13), match='vasya@mail.ru'>

Слайд 47





Использование точки
>>> p3=re.compile(r'h.o')
>>> p3.search('hello python')
>>> p3=re.compile(r'h...o')
>>> p3.search('hello python')
<_sre.SRE_Match object; span=(0, 5), match='hello'>
Описание слайда:
Использование точки >>> p3=re.compile(r'h.o') >>> p3.search('hello python') >>> p3=re.compile(r'h...o') >>> p3.search('hello python') <_sre.SRE_Match object; span=(0, 5), match='hello'>

Слайд 48





Использование квадратных скобок
>>> p4=re.compile(r'h[a-z]o')
>>> p4.search('hello python').group()
Traceback (most recent call last):
  File "<pyshell#442>", line 1, in <module>
    p4.search('hello python').group()
AttributeError: 'NoneType' object has no attribute 'group'
>>> p4=re.compile(r'h[a-z][a-z][a-z]o')
>>> p4.search('hello python').group()
'hello'
Описание слайда:
Использование квадратных скобок >>> p4=re.compile(r'h[a-z]o') >>> p4.search('hello python').group() Traceback (most recent call last): File "<pyshell#442>", line 1, in <module> p4.search('hello python').group() AttributeError: 'NoneType' object has no attribute 'group' >>> p4=re.compile(r'h[a-z][a-z][a-z]o') >>> p4.search('hello python').group() 'hello'

Слайд 49





w+ w{3} w{1,3}
>>> p4=re.compile(r'h\w+o')
>>> p4.search('hello python').group()
'hello'
>>> p4=re.compile(r'h\wo')
>>> p4.search('hello python')
>>> p4=re.compile(r'h\w{1,3}o')
>>> p4.search('hello python').group()
'hello'
>>> p4=re.compile(r'h\w{3}o')
>>> p4.search('hello python').group()
'hello'
>>> p4=re.compile(r'h\w\w\wo')
>>> p4.search('hello python').group()
'hello'
>>>
Описание слайда:
w+ w{3} w{1,3} >>> p4=re.compile(r'h\w+o') >>> p4.search('hello python').group() 'hello' >>> p4=re.compile(r'h\wo') >>> p4.search('hello python') >>> p4=re.compile(r'h\w{1,3}o') >>> p4.search('hello python').group() 'hello' >>> p4=re.compile(r'h\w{3}o') >>> p4.search('hello python').group() 'hello' >>> p4=re.compile(r'h\w\w\wo') >>> p4.search('hello python').group() 'hello' >>>

Слайд 50





+ и *
>>> p5=re.compile(r'h[a-z]+o')
>>> p5.search('hello python').group()
'hello'
>>> p6=re.compile(r'h[a-z]*o')
>>> p6.search('hello python').group()
'hello'
Описание слайда:
+ и * >>> p5=re.compile(r'h[a-z]+o') >>> p5.search('hello python').group() 'hello' >>> p6=re.compile(r'h[a-z]*o') >>> p6.search('hello python').group() 'hello'

Слайд 51





Пробел решает многое
>>> p7=re.compile(r'[^0-9]+o')
>>> p7.search('hello python').group()
'hello pytho'
>>> p7=re.compile(r'[^0-9]*o')
>>> p7.search('hello python').group()
'hello pytho‘
>>> p7=re.compile(r'[^0-9 ]*o')
>>> p7.search('hello python').group()
'hello'
Описание слайда:
Пробел решает многое >>> p7=re.compile(r'[^0-9]+o') >>> p7.search('hello python').group() 'hello pytho' >>> p7=re.compile(r'[^0-9]*o') >>> p7.search('hello python').group() 'hello pytho‘ >>> p7=re.compile(r'[^0-9 ]*o') >>> p7.search('hello python').group() 'hello'

Слайд 52





Произвольное количество доп символов s*
>>> import re
>>> z=re.compile(r'\d\s*\d\s*\d')
>>> zz=z.search('aa1  3   5zz')
>>> zz
<_sre.SRE_Match object; span=(2, 10), match='1  3   5’>
>>> zz=z.search('aa135zz')
>>> zz
<_sre.SRE_Match object; span=(2, 5), match='135'>
Описание слайда:
Произвольное количество доп символов s* >>> import re >>> z=re.compile(r'\d\s*\d\s*\d') >>> zz=z.search('aa1  3   5zz') >>> zz <_sre.SRE_Match object; span=(2, 10), match='1  3   5’> >>> zz=z.search('aa135zz') >>> zz <_sre.SRE_Match object; span=(2, 5), match='135'>

Слайд 53





Подбор выражения по шагам
>>> a=r'Почта vasya-pupkin@openedu.ru или ivanpobeditel@mail.ru'
>>> p8=re.compile(r'[\w+-]@[\w+-]')
>>> p8.search(a)
<_sre.SRE_Match object; span=(17, 20), match='n@o'>
>>> p8=re.compile(r'[\w-]+@[\w-]+')
>>> p8.findall(a)
['vasya-pupkin@openedu', 'ivanpobeditel@mail']
>>> p8=re.compile(r'[\w-]+@[\w\.-]+')
>>> p8.findall(a)
['vasya-pupkin@openedu.ru', 'ivanpobeditel@mail.ru']
Описание слайда:
Подбор выражения по шагам >>> a=r'Почта vasya-pupkin@openedu.ru или ivanpobeditel@mail.ru' >>> p8=re.compile(r'[\w+-]@[\w+-]') >>> p8.search(a) <_sre.SRE_Match object; span=(17, 20), match='n@o'> >>> p8=re.compile(r'[\w-]+@[\w-]+') >>> p8.findall(a) ['vasya-pupkin@openedu', 'ivanpobeditel@mail'] >>> p8=re.compile(r'[\w-]+@[\w\.-]+') >>> p8.findall(a) ['vasya-pupkin@openedu.ru', 'ivanpobeditel@mail.ru']

Слайд 54






>>> a='mail send to dgopenedu@openedu.ru'
>>> res=re.search(r'\w+@\w+',a)
>>> res.group()
'dgopenedu@openedu'
>>> res=re.search(r'\w+@\w+\.\w+',a)
>>> res.group()
'dgopenedu@openedu.ru'
>>> a='mail send to: d.g-openedu@openedu-ru.ru'
>>> res=re.search(r'[\w\.-]+@[\w\.-]+',a)
>>> res.group()
'd.g-openedu@openedu-ru.ru'
Описание слайда:
>>> a='mail send to dgopenedu@openedu.ru' >>> res=re.search(r'\w+@\w+',a) >>> res.group() 'dgopenedu@openedu' >>> res=re.search(r'\w+@\w+\.\w+',a) >>> res.group() 'dgopenedu@openedu.ru' >>> a='mail send to: d.g-openedu@openedu-ru.ru' >>> res=re.search(r'[\w\.-]+@[\w\.-]+',a) >>> res.group() 'd.g-openedu@openedu-ru.ru'

Слайд 55





Группы символов
>>> p9=re.compile(r'([\w-]+)@([\w\.-]+)')
>>> p9.search(a)
<_sre.SRE_Match object; span=(6, 29), match='vasya-pupkin@openedu.ru'>
>>> p9.search(a).groups()
('vasya-pupkin', 'openedu.ru')
>>> p9.search(a).group()
'vasya-pupkin@openedu.ru‘
>>> p9.search(a).group(1)
'vasya-pupkin'
>>> p9.search(a).group(2)
'openedu.ru'
Описание слайда:
Группы символов >>> p9=re.compile(r'([\w-]+)@([\w\.-]+)') >>> p9.search(a) <_sre.SRE_Match object; span=(6, 29), match='vasya-pupkin@openedu.ru'> >>> p9.search(a).groups() ('vasya-pupkin', 'openedu.ru') >>> p9.search(a).group() 'vasya-pupkin@openedu.ru‘ >>> p9.search(a).group(1) 'vasya-pupkin' >>> p9.search(a).group(2) 'openedu.ru'

Слайд 56






>>> p9=re.compile(r'([\w-]+)@([\w\.-]+)')
>>> a='ivanov ivanov@mail.ru petrov petrov@gmail.com'
>>> p9.search(a)
<_sre.SRE_Match object; span=(7, 21), match='ivanov@mail.ru'>
>>> p99=p9.search(a)
>>> p99.groups()
('ivanov', 'mail.ru')
>>> p99.group(1)
'ivanov'
>>> p99.group(2)
'mail.ru'
>>> 
Описание слайда:
>>> p9=re.compile(r'([\w-]+)@([\w\.-]+)') >>> a='ivanov ivanov@mail.ru petrov petrov@gmail.com' >>> p9.search(a) <_sre.SRE_Match object; span=(7, 21), match='ivanov@mail.ru'> >>> p99=p9.search(a) >>> p99.groups() ('ivanov', 'mail.ru') >>> p99.group(1) 'ivanov' >>> p99.group(2) 'mail.ru' >>> 

Слайд 57





Поиск всех почтовых ящиков и разбиение их на группы
>>> a='1st email vasya@mail.ru 2nd email petya@gmail.com'
>>> res=re.findall(r'[\w\.-]+@[\w\.-]+',a)
>>> res
['vasya@mail.ru', 'petya@gmail.com’]
>>> res=re.findall(r'([\w\.-]+)@([\w\.-]+)',a)
>>> res
[('vasya', 'mail.ru'), ('petya', 'gmail.com')]
Описание слайда:
Поиск всех почтовых ящиков и разбиение их на группы >>> a='1st email vasya@mail.ru 2nd email petya@gmail.com' >>> res=re.findall(r'[\w\.-]+@[\w\.-]+',a) >>> res ['vasya@mail.ru', 'petya@gmail.com’] >>> res=re.findall(r'([\w\.-]+)@([\w\.-]+)',a) >>> res [('vasya', 'mail.ru'), ('petya', 'gmail.com')]

Слайд 58





Определение группы без вывода результата
>>> res=re.findall(r'(?:[\w\.-]+)@([\w\.-]+)',a)
>>> res
['mail.ru', 'gmail.com']
Описание слайда:
Определение группы без вывода результата >>> res=re.findall(r'(?:[\w\.-]+)@([\w\.-]+)',a) >>> res ['mail.ru', 'gmail.com']

Слайд 59






>>> res=re.sub(r'([\w\.-]+)@([\w\.-]+)',r'\1@openedu.ru',a)
>>> res
'1st email vasya@openedu.ru 2nd email petya@openedu.ru'
>>> res=re.sub(r'([\w\.-]+)@([\w\.-]+)',r'www@\2',a)
>>> res
'1st email www@mail.ru 2nd email www@gmail.com'
Описание слайда:
>>> res=re.sub(r'([\w\.-]+)@([\w\.-]+)',r'\1@openedu.ru',a) >>> res '1st email vasya@openedu.ru 2nd email petya@openedu.ru' >>> res=re.sub(r'([\w\.-]+)@([\w\.-]+)',r'www@\2',a) >>> res '1st email www@mail.ru 2nd email www@gmail.com'

Слайд 60





Поиск заголовка в html
import re
f=open('01re.html','r')
str=f.read()
#mytable=re.findall(r'<title>\w+</title>',str)
mytable=re.findall(r'<title>(.*)</title>',str)
print(mytable)
Описание слайда:
Поиск заголовка в html import re f=open('01re.html','r') str=f.read() #mytable=re.findall(r'<title>\w+</title>',str) mytable=re.findall(r'<title>(.*)</title>',str) print(mytable)

Слайд 61





Поиск содержимого по таблице
import re
f=open('01re.html','r')
str=f.read()
mytable=re.findall(r'<tr>(.*)</tr>',str,re.DOTALL)
print(mytable)
Описание слайда:
Поиск содержимого по таблице import re f=open('01re.html','r') str=f.read() mytable=re.findall(r'<tr>(.*)</tr>',str,re.DOTALL) print(mytable)

Слайд 62





Получен список по строкам
import re
f=open('01re.html','r')
str=f.read()
mytable=re.findall(r'<tr>(.*?)</tr>',str,re.DOTALL)
print(mytable)
Описание слайда:
Получен список по строкам import re f=open('01re.html','r') str=f.read() mytable=re.findall(r'<tr>(.*?)</tr>',str,re.DOTALL) print(mytable)

Слайд 63






import re
f=open('01re.html','r')
mystr=f.read()
mytable=re.findall(r'''
	<tr>\s*?
	<td>(.*)</td>\s*?
	<td>(.*)</td>\s*?
	<td>(.*)</td>\s*?
	</tr>''',
	mystr,
	re.DOTALL | re.VERBOSE)
print(mytable)
Описание слайда:
import re f=open('01re.html','r') mystr=f.read() mytable=re.findall(r''' <tr>\s*? <td>(.*)</td>\s*? <td>(.*)</td>\s*? <td>(.*)</td>\s*? </tr>''', mystr, re.DOTALL | re.VERBOSE) print(mytable)

Слайд 64






import re
f=open('01re.html','r')
mystr=f.read()
mytable=re.findall(r'''
	<tr>\s*?
	<td>(.*?)</td>\s*?
	<td>(.*?)</td>\s*?
	<td>(.*?)</td>\s*?
	</tr>''',
	mystr,
	re.DOTALL | re.VERBOSE)
print(mytable)
Описание слайда:
import re f=open('01re.html','r') mystr=f.read() mytable=re.findall(r''' <tr>\s*? <td>(.*?)</td>\s*? <td>(.*?)</td>\s*? <td>(.*?)</td>\s*? </tr>''', mystr, re.DOTALL | re.VERBOSE) print(mytable)

Слайд 65






import re
f=open('01re.html','r')
mystr=f.read()
mytable=re.findall(r'''
	<tr>\s*?
	<td>(.*?)</td>\s*?
	<td>(.*?)</td>\s*?
	<td>(.*?)</td>\s*?
	</tr>''',
	mystr,
	re.DOTALL | re.VERBOSE)
for i in mytable:
	for j in i:
		print(j,end= ' | ')
	print()
Описание слайда:
import re f=open('01re.html','r') mystr=f.read() mytable=re.findall(r''' <tr>\s*? <td>(.*?)</td>\s*? <td>(.*?)</td>\s*? <td>(.*?)</td>\s*? </tr>''', mystr, re.DOTALL | re.VERBOSE) for i in mytable: for j in i: print(j,end= ' | ') print()

Слайд 66






>>> z=p9.findall(a)
>>> z
[('vasya-pupkin', 'openedu.ru'), ('ivanpobeditel', 'mail.ru')]
Описание слайда:
>>> z=p9.findall(a) >>> z [('vasya-pupkin', 'openedu.ru'), ('ivanpobeditel', 'mail.ru')]



Похожие презентации
Mypresentation.ru
Загрузить презентацию