example-code-2e/04-text-byte/ramanujan.py

22 lines
695 B
Python
Raw Normal View History

2020-01-23 02:52:23 +01:00
# tag::RE_DEMO[]
2014-10-14 19:26:55 +02:00
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(f'Text\n {text_str!r}')
2014-10-14 19:26:55 +02:00
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>
2020-01-23 02:52:23 +01:00
# end::RE_DEMO[]