Я почти смущен, но я изо всех сил пытаюсь создать регулярное выражение, чтобы изменить что-то вроде cat dog mouse
на SQL-выражение:
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 /);
Спасибо всем, кто ответил!