[转]使用python的正则表达式做词法分析器

#!user/bin/env python
#-*- coding:utf-8 -*-

import re

all=re.compile('(\d+\.\d+[eE][-+]?\d+|\d+\.\d+|[1-9]\d*|0[0-7]+|0x[0-9a-fA-F]+|[a-zA-Z_]\w*|>>|<<|::|->|\.|\+=|\-=|\*=|/=|%=|>=|<=|==|!=|&&|\|\||\+|\-|\*|/|=|>|<|!|^|%|~|\?|:|,|;|\(|\)|\[|\]|\{|\}|\'|\")')

mth=all.findall('1+3.4-sin(6)-y*pi')

print mth

#输出结果
#['1','+','3.4','-','sin','(','6',')','-','y','*','pi']
posted @ 2012-10-27 11:21  网恋被骗5元  阅读(873)  评论(2编辑  收藏  举报