技止于此

SAS、数据挖掘、金融计算。跟我联系: a@b,a=JiangtangHu,b=gmail.com

SAS Perl Regular Expression and SAS Regular Expressions (2)

JohnTown | 09 七月, 2008 05:57

可以先参考先前介绍正则表达式的元字符的那篇。

SAS对正则表达式 (Regular Expressions, RX) 的支持,表现在以下两大类函数(包括Call Routines)中:

  1. SAS Perl Regular Expressions (PRX),SAS9开始引进,有10个函数;
  2. SAS Regular Expressions (RX) ,SAS6.12就开始支持,5个函数。

这两个正则表达式系统功能类似,只是语法略有差别。它们的对应如下:

  SAS Perl Regular Expressions SAS Regular Expressions
版本 SAS9-- SAS6.12--
函数前缀 PRX RX
定义正则表达式的函数 PRXParse RXParse
定位函数 PRXMatch RXMatch
  Call PRXSubstr Call RXSubstr
  Call PRXPosn  
  Call PRXNext  
  PRXParen  
文本替换函数 PRXChange  
  Call PRXChange Call RXChange
释放内存函数 Call PRXFree Call RXFree
代码调试函数 Call PRXDebug  

在RX系统中,比如,用$d或$D来表示数字0-9,在PRX中,用\d,\D却表示所有不是数字的字符。同时学习两套系统很容易弄混。建议只使用SAS PRX。

  1. PRX提供了更丰富的函数;
  2. PRX更为人所知;
  3. PRX据说更有效率。

(待续……)

评论

发表评论
  验证码不分大小写  如果看不清验证码,请点击图片刷新 | 最多可尝试10次
 
Accessible and Valid XHTML 1.0 Strict and CSS
© BI立方体-商业智能社区 - Powered by LifeType