本文介绍了R中的正则表达式:找到确切的数字的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
这是在R中
grep("AB22", c("AB22" ,"AB22","AB22" ,"AB22+3" ,"AB226AEM+1","AB22AEM+2") , value=T)
给出了所有这些:AB22"、AB22"、AB22"、AB22+3"、AB226AEM+1"、AB22AEM+2"
gives all of them:"AB22","AB22", "AB22" ,"AB22+3" ,"AB226AEM+1" ,"AB22AEM+2"
但是,我只想要 "AB22","AB22","AB22" ,"AB22+3" ,AB22AEM+2" 即所有包含 AB22 而不是 AB226 或 2265...等的条目.
but, I want only "AB22","AB22","AB22" ,"AB22+3" ,AB22AEM+2" i.e. all the entries containing AB22 and not AB226 ot 2265...etc.
谢谢
推荐答案
grep("\\bAB22(?!\\d)", c("AB22" ,"AB22","AB22" ,"AB22+3" ,"AB226AEM+1","AB22AEM+2") , value=T, perl=TRUE);
(?!\d)
表示断言不可能匹配当前位置之后的数字".
(?!\d)
means "Assert that it's impossible to match a digit after the current position".
这篇关于R中的正则表达式:找到确切的数字的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持!