作者terdak (努力考上研究所)
看板Statistics
标题[问题] sas prxmatch求解
时间Thu Jul 20 17:03:31 2017
请问一下 我有一段文字
我想要match "hypertension" 但不想要match "pulmonary hypertension"
我想要negative lookahead方法
可以请问一下怎麽写吗
data htn3;
set htn;
if prxmatch ( "/hypertension(?!.+pulmonary)/", HTN) >0
then HTN=1;else HTN=0; run;
这段他会match "hypertension"但不会match "hypertension pulmonary"
但我实在想不到怎麽不match"pulmonary hypertension"
感谢大家
--
※ 发信站: 批踢踢实业坊(ptt.cc), 来自: 42.77.123.0
※ 文章网址: https://webptt.com/cn.aspx?n=bbs/Statistics/M.1500541414.A.A59.html
※ 编辑: terdak (42.77.123.0), 07/20/2017 17:04:09
※ 编辑: terdak (42.77.123.0), 07/20/2017 17:04:29
1F:推 lsshno1: try "/^hypertension$/" 07/23 00:54
2F:→ lsshno1: ^ and $ 表示start/end of string 07/23 00:54
3F:→ lsshno1: 除此之外, 可以试着用ifc or ifn function表示 07/23 00:55
4F:→ lsshno1: 例如: HTN=ifn(prxmatch("/^hypertension$/",HTN),1,0) 07/23 00:56
5F:→ lsshno1: 不过还是建议使用variable HTN判断, 出来就不用再用HTN 07/23 00:57
6F:→ lsshno1: 可以考虑使用HTNFL="Y" or "N" 之类的 07/23 00:57
7F:→ lsshno1: 关於Perl Reg Exp 可以参考这篇文章 07/23 00:59
8F:→ lsshno1: 265-29: An Introduction to Perl Regular Expressions 07/23 00:59
9F:推 lsshno1: 但记得要用end of string的时候, 记得要把变量strip一下 07/23 01:04
10F:→ lsshno1: 因为有时候, 变量後面其实有空白的, 所以抓end of string 07/23 01:05
11F:→ lsshno1: 会抓到的是空白, 会导致抓不到 07/23 01:06
12F:→ lsshno1: 上面都是一些平常工作会遇到的小问题, 希望对你有帮助 07/23 01:07
13F:→ terdak: 大大~太感谢了 07/25 06:26