我正在开发一个简单的转换器,从sqlinsert语句转换为要与DbUnit一起使用的数据集XML文件。在
我现在的定义是这样的:
def t_INSERT(token):
r'INSERT\s+INTO'
return token
现在,我想支持SQL的不区分大小写的命令,例如,接受INSERT INTO
、Insert Into
、insert into
和{}的所有命令。在
我想知道是否有一种方法可以让PLY use re.I
忽略这个情况,或者是另一种方法来编写我不熟悉的规则。在
Tags:
可以使用
(?)
语法将标志注入regexp。尝试'(?i)INSERT\s+INTO'
,它添加了忽略大小写的标志。在在内部,
lex.py
使用re
模块进行模式匹配。如果需要为重新编译()函数,对lex使用reflags选项。例如:
此信息摘自documentation第4.3和4.20节
^{pr2}$在您的例子中,可以将re.IGNORECASE传递给lexer:
如果以这种方式传递标志,则代码的可读性更高。在
相关问题 更多 >
编程相关推荐