我的意思是如何用正则表达式来表示表连接或者>,<,=等查询条件?
追答没明白你的意思,既然是要大于小于等于的条件,那就直接用 > < = 这些符号做什么呢。
或者你给一些表中的数据,然后说说你想要什么样的结果吧,这样方便大家理解你的意思。
不好意思,我在做数据库select语句的词法与语法分析,用正则表达式做的,遇到条件哪里不会写了。
select distinct ssn
from employee,department
where
select +(distinct)? +(([a-zA-Z\_$]\w*)|\*) +([\s\S][\d\D])?from +([a-zA-Z\_$]\w*(,[a-zA-Z\_$]\w*)*)([\s\S][\d\D])?where +()([\s\S][\d\D])?
哦,这下明白了。想想我都觉得很难啊。如果只限制简单的条件的话还好,不然 where 里可以嵌套子查询什么的,越想越复杂,正则能递归不?能的话在 where 里一递归一下吧。哈哈。
词法分析这方面有成熟的工具 lex,你可以搜索看看,我只听过,但没用过。我认为要纯用一个正则来写难度真的很大,只能祝福你一切顺利啊。
我的意思是如何用正则表达式来表示表连接或者>,<,=等查询条件?