在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;
我有这样的字符串:
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;