Регулярные выражения с метасимволом ()
определяют группы, содержимое которых можно извлечь из буферов захвата с помощью PRXPOSN
.Буферы захвата, полученные в этом случае, будут иметь один или несколько последовательных десятичных знаков (\d+)
и преобразованы в числовое значение с помощью INPUT
data have;
input change $20.; datalines;
15to16
9to8
6to5
10to16
run;
data want;
set have;
rx = prxparse('/^\s*(\d+)\s*to\s*(\d+)\s*$/');
if prxmatch (rx, change) then do;
from = input(prxposn(rx,1,change), 12.);
to = input(prxposn(rx,2,change), 12.);
end;
drop rx;
run;