日期:2014-05-17  浏览次数:21074 次

C#中如何判断SQL语句括号、单引号是否匹配
数据库为oracle,如题,现在小弟在winform中做这样一个逻辑判断,只是判断括号和单引号是否对称匹配,百度了下看到很多种做法,有利用栈的做法、有利用正则表达式的做法,验证下来都可以去实现,但我想知道验证不匹配后出错的位置,比如说以下例子
select to_char(sysdate,'yyyy-mm-dd') from dual  此句正确
select to_char(sysdate,'yyyy-mm-dd' from dual  缺少右括号,并显示其出错位置高亮显示
select to_char(sysdate,'yyyy-mm-dd) from dual 缺少单引号,并显示其出错位置高亮显示

各位牛人可以提供些思路吗?谢谢了

------解决方案--------------------
用栈的做法好一点,在不配对的情下报表位置就好。
------解决方案--------------------
用正则的平衡组递归可以看括号是否匹配