0
我有以下SAS代碼檢查模式並標記任何錯誤。sas與方括號評估的模式匹配
我確定它檢查field1中的模式,但我不知道如何評估兩個方括號[]。
我需要檢查field1中的無效值。
SAS代碼:
if prxmatch('/^[a-zA-Z][a-zA-Z0-9_]*$/', strip(&vfiel1)) = 0 then do;
put "Error is field1"
我有以下SAS代碼檢查模式並標記任何錯誤。sas與方括號評估的模式匹配
我確定它檢查field1中的模式,但我不知道如何評估兩個方括號[]。
我需要檢查field1中的無效值。
SAS代碼:
if prxmatch('/^[a-zA-Z][a-zA-Z0-9_]*$/', strip(&vfiel1)) = 0 then do;
put "Error is field1"
這個正則表達式將檢查尋找有效-SAS名稱。具體來說,它必須在結束前($
)以字母([a-zA-Z]
)後跟0或更多(*
)字母,數字和/或下劃線([a-zA-Z0-9_]
)開頭(^
)。
更好的SAS名稱檢查將沿此線的東西:
^[a-zA-Z_][a-zA-Z0-9_]{0,7}$
^[a-zA-Z_][a-zA-Z0-9_]{0,31}$
注意這些允許的名字開始與下劃線,最大長度爲8和32個字符。
Here是SAS語言中名稱的頁面。