现有1正则表达式如下:
^select ?(?<topCmd>top \d+)? (?<select_list>.+?) from (?<table_source>.+?) ?(?<whereCmd>where .+?)? ?(?<groupByCmd>group by .+?)? ?(?<havingCmd>having .+?)? ?(?<orderByCmd>order by .+?)?$此表达式能对下面的sql语句进行有效的分组
select * from userdata where username='myname'
但无法对下面的sql语句进行有效的分组
select * from (select * from userdata where username like ('%name')) user where username='myname'求高手指点
^select ?(?<topCmd>top \d+)? (?<select_list>.+?) from (?<table_source>.+?) ?(?<whereCmd>where .+?)? ?(?<groupByCmd>group by .+?)? ?(?<havingCmd>having .+?)? ?(?<orderByCmd>order by .+?)?$此表达式能对下面的sql语句进行有效的分组
select * from userdata where username='myname'
但无法对下面的sql语句进行有效的分组
select * from (select * from userdata where username like ('%name')) user where username='myname'求高手指点
LZ看看是不是你要的结果
那你要什么?
--------------分组不是命名了吗???
那你要什么?
确实是想这样,不过你给的表达式将后面这个where username= 'myname ' 也包括到了table_source中了呢
-------------- 分组不是命名了吗???
-------------- 我想 (select * from userdata where username like ( '%name ')) user 这个分在table_source组
where username= 'myname ' 这个在whereCmd组
那你要什么?
确实是想这样,不过你给的表达式将后面这个where username= 'myname ' 也包括到了table_source中了呢
---------------------------------------------------------------
那我就不知道你是怎么抄上去的了
那你要什么?
确实是想这样,不过你给的表达式将后面这个where username= 'myname ' 也包括到了table_source中了呢
---------------------------------------------------------------
那我就不知道你是怎么抄上去的了
--------------------------------------------------------------- 那能说说思路么,我当然是ctrl+c ctrl+v这样抄上去的
select * from (select * from userdata where username like ( '%name ')) u
这个子查询可没在where后面呢:)