grepl在R中至少包含一次多模式
目标: 返回至少一次带有“TAX”和“GAP”的元素,不考虑它们在字符串中的位置grepl在R中至少包含一次多模式,r,regex,grepl,R,Regex,Grepl,目标: 返回至少一次带有“TAX”和“GAP”的元素,不考虑它们在字符串中的位置 #STRING K <- c("TAX","TAX GAP","GAP TAX","GAP of TAX","GAP") # 1st , 5th should be FALSE #Solution K[grepl("TAX",K) & grepl("GAP",K)] # WRONG apporach grepl("TAX|GAP",K) --> Only one side grepl("T
#STRING
K <- c("TAX","TAX GAP","GAP TAX","GAP of TAX","GAP") # 1st , 5th should be FALSE
#Solution
K[grepl("TAX",K) & grepl("GAP",K)]
# WRONG apporach
grepl("TAX|GAP",K) --> Only one side
grepl("TAX+GAP+",K) --> The positions are fixed , impossible to write all the possibilities
#字符串
K只有一面
grepl(“TAX+GAP+”,K)-->头寸是固定的,不可能写出所有的可能性
我可以用正则表达式在一行中写入多个grepl()语句吗?
欢迎使用任何其他方法如果您确实想使用对
grepl
的单个调用,那么我们可以尝试使用以下单个正则表达式模式:
\bTAX\b.*\bGAP\b|\bGAP\b.*\bTAX\b
此模式使用一个替代选项来检查可能出现税务
和差额
的两个订单。还要注意的是,TAX
和GAP
两侧都有单词边界标记(\b
),以确保我们不会意外匹配,例如,TAX
出现在较大单词(如TAX
)的子字符串中
grepl("\\bTAX\\b.*\\bGAP\\b|\\bGAP\\b.*\\bTAX\\b", K)
[1] FALSE TRUE TRUE TRUE FALSE
谢谢你的好意。但我必须承认,我贴了一个糟糕的例子,那是一个英语的情况,我的实际情况是处理类似汉字的情况。“名词”之前的“形容词”(