len('\\')
len(r'\\')
import re
re.fullmatch(r'a*bb*a((a|b)b*a)*', 'aaaba') is not None
re.fullmatch(r'a*bb*a((a|b)b*a)*', 'aaabab') is not None
re.fullmatch(r'a*bb*a((a|b)b*a)*', 'aaababa') is not None
re.findall(r'<.*>', '
Title
Subtitle
')
re.findall(r'<.*?>', 'Title
Subtitle
')
re.search(r'([_0-9a-zA-Z.]+)?@([_0-9a-zA-Z.]+)', 'My email is d.v.kornev@gmail.com')
mo = re.search(r'([_0-9a-zA-Z.]+)?@([_0-9a-zA-Z.]+)', 'My email is d.v.kornev@gmail.com')
mo.group()
mo.group(0)
mo.group(1)
mo.group(2)
re.fullmatch(r'(.*)cad\1', 'abracadabra') is not None
re.search(r'.*(?= Newton)', 'Isaac Newton')
very_big_data = ['some good string'] * 10000 + ['some bad string'] * 10000
len(very_big_data)
def count_good_strings(data):
count = 0
for string in data:
if re.search(r'good', string) is not None:
count += 1
return count
count_good_strings(very_big_data)
%timeit count_good_strings(very_big_data)
def count_good_strings_fast(data):
regex = re.compile(r'good')
count = 0
for string in data:
if regex.search(string):
count += 1
return count
count_good_strings_fast(very_big_data)
%timeit count_good_strings_fast(very_big_data)
import re
import requests
r = requests.get('http://python.org/')
r.text
urls = re.findall(r'