我几乎不好意思一个SQL,但我在努力创建一个正则表达式来改变像cat dog mouse
到SQL where子句:正则表达式转换空格分隔列表,where子句
a.cat=b.cat AND a.dog=b.dog AND a.mouse=b.mouse
随着
s/(\w*)\s?/a.$1=b.$1 AND/
我得到
a.cat=b.cat AND a.dog=b.dog AND a.mouse=b.mouse AND a.=b. AND
哎哟。帮助赞赏。
编辑:我结束了使用两个连续的正则表达式。因为我需要SAS宏,所以我想让我的代码变得简洁,我写了这个宏:
%Macro rxchange(str,rx1,rx2,rx3,rx4,rx6,rx7,rx8,rx9,rx10);
%Let rxno=1;
%Do %While("&&rx&rxno" Ne "");
%Let str=%SysFunc(PRXChange(%Str(&&rx&rxno), -1, %Str(&str)));
%Let rxno=%Eval(&rxno+1);
%End;
&str
%Mend;
/* Try this: */
%Put %rxchange(cat dog mouse,s/(\w+)\s?/a.$1=b.$1 /,s/(\s+)/ AND /);
谢谢所有回复!
执行什么语言是您使用? –
@Paul,我正在使用SAS正则表达式函数,它使用Perl语法 –