楼主: kutuomonk
4869 3

[原创博文] 有关SAS正则表达式的问题。 [推广有奖]

  • 1关注
  • 3粉丝

副教授

45%

还不是VIP/贵宾

-

威望
0
论坛币
10068 个
通用积分
14.5649
学术水平
2 点
热心指数
2 点
信用等级
2 点
经验
13257 点
帖子
314
精华
0
在线时间
1266 小时
注册时间
2008-11-15
最后登录
2024-4-23

+2 论坛币
k人 参与回答

经管之家送您一份

应届毕业生专属福利!

求职就业群
赵安豆老师微信:zhaoandou666

经管之家联合CDA

送您一个全额奖学金名额~ !

感谢您参与论坛问题回答

经管之家送您两个论坛币!

+2 论坛币
  1. data ReversedNames;
  2. input name & $32.;
  3. datalines;
  4. Jones, Fred
  5. Kavich, Kate
  6. Turley, Ron
  7. Dulix, Yolanda
  8. ;
  9. /* Reverse last and first names with a DATA step. */
  10. options pageno=1 nodate ls=80 ps=64;
  11. data names;
  12. set ReversedNames;
  13. name = prxchange(’s/(\w+), (\w+)/$2 $1/’, -1, name);
  14. run;
  15. proc print data=names;
  16. run;
复制代码


各位上面的正则表达式代码,name = prxchange(’s/(\w+), (\w+)/$2 $1/’, -1, name)语句中的"s”有什么用处,在SAS perl正则表达式中反向引用捕获组是使用字符"$"引导吗?在 SAS help中没找到相关介绍,请各位帮忙解答,谢谢。
二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

关键词:正则表达式 表达式 PrxChange Data step reversed 表达式 names

沙发
yaya51389 发表于 2010-12-23 10:30:41 |只看作者 |坛友微信交流群
现在刚开始学,还不懂,懂了告诉你···
好学生,呼啦啦

使用道具

藤椅
horace_chen 发表于 2010-12-23 12:59:25 |只看作者 |坛友微信交流群
SAS从v9开始支持perl正则表达式,并在Perl 5.6.1版的基础上做了修改,在SAS help 中有一节《Pattern Matching Using Perl Regular Expressions (PRX)》做了简单介绍,其他用法可以参考perl,注意SAS help中介绍的不兼容内容就行了。

s 是处理选项,表示 将待匹配串视为单行;与之对应的是m,表示 将待匹配串视为多行。

3、SAS 支持Perl捕获组变量,$1,$2....,但不支持其他perl变量。

使用道具

板凳
kutuomonk 发表于 2010-12-23 15:00:30 |只看作者 |坛友微信交流群
谢谢楼上两位,这几天理解了点。

使用道具

您需要登录后才可以回帖 登录 | 我要注册

本版微信群
加好友,备注cda
拉您进交流群

京ICP备16021002-2号 京B2-20170662号 京公网安备 11010802022788号 论坛法律顾问:王进律师 知识产权保护声明   免责及隐私声明

GMT+8, 2024-4-28 12:50