1 parent 71a80a8 commit 2225833Copy full SHA for 2225833
1 file changed
source/c02/p18_tokenizing_text.rst
@@ -22,7 +22,7 @@
22
.. code-block:: python
23
24
tokens = [('NAME', 'foo'), ('EQ','='), ('NUM', '23'), ('PLUS','+'),
25
- ('NUM', '42'), ('TIMES', '*'), ('NUM', '10')]
+ ('NUM', '42'), ('TIMES', '*'), ('NUM', '10')]
26
27
为了执行这样的切分,第一步就是像下面这样利用命名捕获组的正则表达式来定义所有可能的令牌,包括空格:
28
@@ -76,10 +76,10 @@
76
77
78
def generate_tokens(pat, text):
79
- Token = namedtuple('Token', ['type', 'value'])
80
- scanner = pat.scanner(text)
81
- for m in iter(scanner.match, None):
82
- yield Token(m.lastgroup, m.group())
+ Token = namedtuple('Token', ['type', 'value'])
+ scanner = pat.scanner(text)
+ for m in iter(scanner.match, None):
+ yield Token(m.lastgroup, m.group())
83
84
# Example use
85
for tok in generate_tokens(master_pat, 'foo = 42'):
@@ -97,7 +97,7 @@
97
98
99
tokens = (tok for tok in generate_tokens(master_pat, text)
100
- if tok.type != 'WS')
+ if tok.type != 'WS')
101
for tok in tokens:
102
print(tok)
103
0 commit comments