【发布时间】:2009-02-05 02:37:59
【问题描述】:
我有一个用人类可读语言编写的查询过滤器。我需要解析它并转换为 SQL where 子句。例如:
CustomerName Starts With 'J'
变成
CustomerName LIKE 'J%'
和
CustomerName Includes 'Smi'
变成
CustomerName LIKE '%Smi%'
要解析的完整表达式可能要复杂得多,例如
CustomerName Starts With 'J' AND State = 'CA'
应该变成
CustomerName LIKE 'J%' AND State = 'CA'
解决此问题的最佳方法是什么?可以用 RegEx 轻松完成吗(我不是 regex 专家)。
【问题讨论】: