forked from fluentpython/example-code-2e
-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathramanujan.py
More file actions
21 lines (17 loc) · 695 Bytes
/
ramanujan.py
File metadata and controls
21 lines (17 loc) · 695 Bytes
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
# 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(f'Text\n {text_str!r}')
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[]