Ma'lumotlarni moslashtirish va chiqarish - Biz re.findall() dan foydalansak, u oddiy ifodaga mos keladigan nol yoki undan ko'p pastki qatorlar ro'yxatini qaytaradi.
>>> import re
>>> x = 'My 2 favorite numbers are 19 and 42'
>>> y = re.findall('[0-9]+',x)
>>> print(y)
['2', '19', '42']
>>> y = re.findall('[AEIOU]+',x)
>>> print(y)
[]
Ogohlantirish: ochko'z moslik Takroriy belgilar (* va +) mumkin bo'lgan eng katta qatorga mos kelish uchun har ikki yo'nalishda (ochko'zlik) tashqariga suriladi
>>> import re
>>> x = 'From: Using the : character'
>>> y = re.findall('^F.+:', x)
>>> print(y)
['From: Using the :']
^F.+:
Bir yoki bir nechta belgilar
Uchrashuvdagi birinchi belgi F
Uchrashuvdagi oxirgi belgi:
Why not 'From:' ?
Non-Greedy Matching Oddiy ifodalarni takrorlash kodlarining hammasi ham ochko'z emas! Agar qo'shsangiz? belgilar, + va * biroz tinchlanadi ...
>>> import re
>>> x = 'From: Using the : character'
>>> y = re.findall('^F.+?:', x)
>>> print(y)
['From:']
^F.+?:
One or more characters but not greedy
First character in the match is an F
Last character in the match is a :
Nozik sozlash String ekstraktsiyasi Siz re.findall() uchun moslikni aniqlab olishingiz va qavslar yordamida moslikning qaysi qismi ajratilishini alohida aniqlashingiz mumkin.
From stephen.marquard@uct.ac.za Sat Jan 5 09:14:16 2008
>>> y = re.findall('\S+@\S+',x)
>>> print(y)
['stephen.marquard@uct.ac.za’]
\S+@\S+
Kamida bitta boʻsh joy boʻlmagan belgi
Скобки не являются частью совпадения, но они говорят, где начать и где остановиться, какую строку извлечь.
From stephen.marquard@uct.ac.za Sat Jan 5 09:14:16 2008
^From (\S+@\S+)
>>> y = re.findall('\S+@\S+',x)
>>> print(y)
['stephen.marquard@uct.ac.za']
>>> y = re.findall('^From (\S+@\S+)',x)
>>> print(y)
['stephen.marquard@uct.ac.za']
Do'stlaringiz bilan baham: |