楼主: 米兰_卡卡
7097 5

sas正则表达式 [推广有奖]

  • 1关注
  • 0粉丝

大专生

78%

还不是VIP/贵宾

-

威望
0
论坛币
213 个
通用积分
0.3006
学术水平
0 点
热心指数
0 点
信用等级
0 点
经验
10239 点
帖子
33
精华
0
在线时间
69 小时
注册时间
2014-7-7
最后登录
2017-3-17

楼主
米兰_卡卡 在职认证  发表于 2015-7-8 17:08:09 |AI写论文

+2 论坛币
k人 参与回答

经管之家送您一份

应届毕业生专属福利!

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

经管之家联合CDA

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

感谢您参与论坛问题回答

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

+2 论坛币
我要如何用正则表达式能够精确匹配手机号,得到类似AABBCC  AAAAA的手机号码?
data _null_;
if _n_=1 then pattern_num=prxparse('/\d{3}/');
retain pattern_num;
input phone_num $11.;
position=prxmatch(pattern_num,phone_num);
file print;
put pattern_num= phone_num= position=;
cards;
13900000000
12349999044
16038489555
12904830935
24902380394
40938609348
19295559440
13919199191
19339119393
29395844859
;
run;


二维码

扫码加我 拉你入群

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

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

关键词:正则表达式 表达式 position PrxMatch Pattern 表达式

沙发
Tigflanker 发表于 2015-7-9 08:49:15
  1. data have;
  2. input number;
  3. prx = prxparse('/(\d)\1{4}|(\d)\2(\d)\3(\d)\4/');
  4. if prxmatch(prx,number);
  5. cards;
  6. 13900000000
  7. 12349999044
  8. 16038489555
  9. 12904830935
  10. 24902380394
  11. 40938609348
  12. 19295599440
  13. 13919199191
  14. 19339119393
  15. 29395844859
  16. ;run;
复制代码
我这写法有些笨,前面是匹配AAAAAA的,后面是匹配AABBCC的

藤椅
米兰_卡卡 在职认证  发表于 2015-7-9 08:55:43
Tigflanker 发表于 2015-7-9 08:49
我这写法有些笨,前面是匹配AAAAAA的,后面是匹配AABBCC的
谢谢, 但是为什么(\d)\1{4}  这样写,\1 代表什么意思(\d)\2(\d)\3(\d)\4 这个表示AABBCC类型的,那么ABABAB类型的怎么表示?
1234567这种递增或者递减类型的怎么表示呢?

板凳
Tigflanker 发表于 2015-7-9 11:08:03
米兰_卡卡 发表于 2015-7-9 08:55
谢谢, 但是为什么(\d)\1{4}  这样写,\1 代表什么意思(\d)\2(\d)\3(\d)\4 这个表示AABBCC类型的,那么 ...
  1. prx = prxparse('/(\d)\1{4}|(\d)\2(\d)\3(\d)\4|(\d)(\d)\5\6\5\6/');
复制代码
最后那个可以匹配ABABAB,123456我再想想

你们的工作好有趣啊,是电信的兄弟吧

报纸
IEers 发表于 2015-7-9 14:30:39
好东西

地板
米兰_卡卡 在职认证  发表于 2015-7-10 08:49:37
Tigflanker 发表于 2015-7-9 11:08
最后那个可以匹配ABABAB,123456我再想想

你们的工作好有趣啊,是电信的兄弟吧
还真不是

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

本版微信群
加好友,备注cda
拉您进交流群
GMT+8, 2026-1-8 05:04