在sas中使用正则表达式提取子字符串

extracting substring using regex in sas

我有这样的字符串:

dfjkldjfdsldfkdslfkd dfkdjd/FR018/HAHDFKDLFDAFHDKFJL/ABCD//NAME/I WANT TO EXTRACT THIS/JJJJ//NAME/blah blah blah

在这个字符串中,我希望能够拉出字符串I WANT TO EXTRACT THIS。换句话说,我想提取 /ABCD//NAME/ 之后和 /JJJJ 之前的所有内容。

如何使用正则表达式编写此代码?

谢谢

我不熟悉 SAS,但从 documentation 看来你可以这样做:

re = prxparse('/\/ABCD\/\/NAME\/(.*?)\/(.*?)\/JJJJ/s');
if prxmatch(re, str) then 
    do;
        res = prxposn(re, 1, str);
    end;