example-code-2e/04-text-byte/ramanujan.py
2020-01-22 22:52:23 -03:00

22 lines
706 B
Python

# tag::RE_DEMO[]
import re
re_numbers_str = re.compile(r'\d+') # <1>
re_words_str = re.compile(r'\w+')
re_numbers_bytes = re.compile(rb'\d+') # <2>
re_words_bytes = re.compile(rb'\w+')
text_str = ("Ramanujan saw \u0be7\u0bed\u0be8\u0bef" # <3>
" as 1729 = 1³ + 12³ = 9³ + 10³.") # <4>
text_bytes = text_str.encode('utf_8') # <5>
print('Text', repr(text_str), sep='\n ')
print('Numbers')
print(' str :', re_numbers_str.findall(text_str)) # <6>
print(' bytes:', re_numbers_bytes.findall(text_bytes)) # <7>
print('Words')
print(' str :', re_words_str.findall(text_str)) # <8>
print(' bytes:', re_words_bytes.findall(text_bytes)) # <9>
# end::RE_DEMO[]