2
問題提取SAS的子使用正則表達式
我需要提取從HTML使用正則表達式的特定字符串。字符串的名稱始終遵循以下模式:
<2 digits><any number of characters>.zip
我想做到這一步。
我有什麼
data have;
infile datalines truncover;
input Line $ 1-500;
datalines;
"<td><a href=""Location/01data.zip"">2001</td>"
"<td><a href=""Location/02moarstuff.zip"">2002</td>"
;
run;
我需要
的文件名和擴展名從什麼HTML代碼。
File Line
01data.zip "<td><a href=""Location/01data.zip"">2001</td>"
02moarstuff.zip "<td><a href=""Location/02moarstuff.zip"">2002</td>"
我已經試過
我用下面的正則表達式的嘗試:
/\d+\w+(\.zip)/
與http://regexr.com/測試後,表達並找到合適的字符串。然後,我嘗試使用prxchange()
功能使用上page 3 of this SAS regex whitepaper發現刪除除所需子的一切技術:
data want;
length File $25.;
set have;
file=prxchange('s/^.*\d+\w+(\.zip).*$/$1/',-1, line);
run;
這將讓我:
File Line
.zip "<td><a href=""Location/01data.zip"">2001</td>"
.zip "<td><a href=""Location/02moarstuff.zip"">2002</td>"
它結束了與替換字符串.zip
,但我缺少文件的名稱。我嘗試過更換$
的不同值,但沒有成功。
問題
我在做什麼錯這個正則表達式替換?
賓果。謝謝!!! –