楼主: Arsaces
1994 12

正则表达式遇到问题,求高手指点! [推广有奖]

  • 2关注
  • 2粉丝

已卖:1967份资源

硕士生

78%

还不是VIP/贵宾

-

威望
0
论坛币
5460 个
通用积分
11.8339
学术水平
8 点
热心指数
8 点
信用等级
7 点
经验
1652 点
帖子
66
精华
0
在线时间
248 小时
注册时间
2012-10-6
最后登录
2023-5-6

楼主
Arsaces 发表于 2017-3-3 20:28:04 |AI写论文
20论坛币
下面是本人的代码:
  1. data a;
  2. input ananm $;
  3. cards;
  4. 潘仁美
  5. 张顺
  6. ;
  7. run;
  8. data c;
  9. set a;
  10. n=prxmatch("/潘/",ananm);
  11. run;
  12. proc print data=c;run;
复制代码
结果这样:
微信截图_20170303202528.png

感觉显然不对呀!第二行“张顺”不含“潘”这个字,应该返回0才对呀!求高手指点~

关键词:正则表达式 高手指点 表达式 求高手 PrxMatch 正则表达式

沙发
l1i2n3i4n5g 在职认证  发表于 2017-3-3 23:26:37
一个中文字符占两个字节,可能
“张”的第二个字节+“顺”的第一个字节=“潘”的两个字节
我猜的

藤椅
zdznet 在职认证  发表于 2017-3-3 23:49:03
为什么不用index函数,n=index(ananm,'潘')

板凳
Arsaces 发表于 2017-3-4 15:40:04
l1i2n3i4n5g 发表于 2017-3-3 23:26
一个中文字符占两个字节,可能
“张”的第二个字节+“顺”的第一个字节=“潘”的两个字节
我猜的
嗯,我也是这么想的,因为返回值是2。这简直是个BUG呀

报纸
Arsaces 发表于 2017-3-4 15:43:08
zdznet 发表于 2017-3-3 23:49
为什么不用index函数,n=index(ananm,'潘')
微信截图_20170304154157.png

Index函数返回值也是2

地板
Arsaces 发表于 2017-3-4 15:43:53
zdznet 发表于 2017-3-3 23:49
为什么不用index函数,n=index(ananm,'潘')
INDEX函数返回值也是2

7
zdznet 在职认证  发表于 2017-3-4 22:24:47
Arsaces 发表于 2017-3-4 15:43
INDEX函数返回值也是2
哦,bug

8
l1i2n3i4n5g 在职认证  发表于 2017-3-6 09:08:01
n=kindex(ananm,'潘')
这样就行了

9
sas9.4 发表于 2017-3-6 15:09:08
中文识别不准的

10
sas9.4 发表于 2022-7-5 12:51:16
data a;
input ananm $;
cards;
潘仁美
张顺
;

data c;
set a;
n=prxmatch("/潘/",cats(ananm));
run;
proc print data=c;run;

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

本版微信群
加好友,备注cda
拉您进交流群
GMT+8, 2025-12-29 21:16