这是在R中
grep("AB22", c("AB22" ,"AB22","AB22" ,"AB22+3" ,"AB226AEM+1","AB22AEM+2") , value=T)
给他们所有:
“AB22”,“AB22”,“AB22”,“AB22 + 3”,“AB226AEM + 1”,“AB22AEM + 2”
但是,我只需要“AB22”,“AB22”,“AB22”,“AB22 + 3”,AB22AEM + 2”,即所有包含AB22的条目,而不包含AB226或2265 ...等。
谢谢
最佳答案
这是word boundary anchors和/或negative lookahead assertion的工作:
grep("\\bAB22(?!\\d)", c("AB22" ,"AB22","AB22" ,"AB22+3" ,"AB226AEM+1","AB22AEM+2") , value=T, perl=TRUE);
(?!\d)
的意思是“断言当前位置后面的数字不可能匹配”。