【发布时间】:2008-09-26 14:38:08
【问题描述】:
上周我正在为一段生成一些 SQL 语句的代码编写一些单元测试。
我试图找出一个匹配 SELECT、INSERT 和 UPDATE 语法的正则表达式,这样我就可以验证我的方法是否生成了有效的 SQL,并且经过 3-4 小时的搜索和各种处理我放弃了正则表达式编辑器。
我设法获得了部分匹配,但因为引号中的部分可以包含任何字符,它会快速扩展以匹配整个语句。
任何帮助将不胜感激,我不太擅长正则表达式,但我想了解更多关于它们的信息。
顺便说一句,我追求的是 C# RegEx。
澄清
我不想访问数据库,因为这是单元测试的一部分,我不想维护数据库来测试我的代码。这可能比项目寿命更长。
【问题讨论】:
-
请注意,正则表达式(经典的和较新的)在解析一般语法时有限制。更多详情见stackoverflow.com/q/8577060/6607497
标签: sql regex unit-testing