字符串令牌解析-华为云大数据中台架构分享

时间:2024-07-01 05:00:19
【文件属性】:

文件名称:字符串令牌解析-华为云大数据中台架构分享

文件大小:5.68MB

文件格式:PDF

更新时间:2024-07-01 05:00:19

Python cookbook 中文 参考

2.18 字符串令牌解析 问题 你有一个字符串,想从左至右将其解析为一个令牌流。 解决方案 假如你有下面这样一个文本字符串: text = 'foo = 23 + 42 * 10' 为了令牌化字符串,你不仅需要匹配模式,还得指定模式的类型。 比如,你可 能想将字符串像下面这样转换为序列对: tokens = [('NAME', 'foo'), ('EQ','='), ('NUM', '23'), ('PLUS','+'), ('NUM', '42'), ('TIMES', '*'), ('NUM', '10')] 为了执行这样的切分,第一步就是像下面这样利用命名捕获组的正则表达式来 定义所有可能的令牌,包括空格: import re NAME = r'(?P[a-zA-Z_][a-zA-Z_0-9]*)' NUM = r'(?P\d+)' PLUS = r'(?P\+)'


网友评论