作者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/m.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