我有以下 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 个字符。
这是关于 SAS 语言中的名称的页面。