sas模式匹配方括号评估

时间:2013-05-03 19:24:44

标签: regex sas

我有以下SAS代码,用于检查模式并标记任何错误。

我确定它会检查field1中的模式,但我不确定如何评估两个方括号[]。

我需要检查field1中的无效值。

sas代码:

if prxmatch('/^[a-zA-Z][a-zA-Z0-9_]*$/', strip(&vfiel1)) = 0 then do;
     put "Error is field1"

1 个答案:

答案 0 :(得分:1)

此正则表达式将检查有效的SAS名称。具体来说,必须先用字母(^)开头([a-zA-Z])后跟0或更多(*)个字母,数字和/或下划线([a-zA-Z0-9_])结束($)。

更好的SAS名称检查将是这样的:

  • Libnames:^[a-zA-Z_][a-zA-Z0-9_]{0,7}$
  • 数据集&变量名:^[a-zA-Z_][a-zA-Z0-9_]{0,31}$

请注意,这些允许名称以下划线开头,最大长度为8和32个字符。

Here是SAS语言中名称的页面。

相关问题