Regex 检查术语前置关键字是否为数字
给定一个字符串:3个设计特征,我试图检查“设计特征”之前的术语是否是一个数字,或者是否使用下面的数字。(数字可以是2或2。)Regex 检查术语前置关键字是否为数字,regex,r,Regex,R,给定一个字符串:3个设计特征,我试图检查“设计特征”之前的术语是否是一个数字,或者是否使用下面的数字。(数字可以是2或2。) score=0; str=3个设计特点 regexp_number=“/^[0-9]+./”; if(str_detect(y,regexp_number)==TRUE) { 分数=分数++; } 这将返回0。我做错了什么?希望有人能指出 提前谢谢。 -Simak您的正则表达式是错误的。它说它必须包含一个要匹配的,而不是可选地包含0或1。 换成 regexp_numbe
score=0;
str=3个设计特点
regexp_number=“/^[0-9]+./”;
if(str_detect(y,regexp_number)==TRUE)
{
分数=分数++;
}
这将返回0。我做错了什么?希望有人能指出
提前谢谢。
-Simak您的正则表达式是错误的。它说它必须包含一个要匹配的
,而不是可选地包含0或1
。
换成
regexp_number = "/^[0-9]+.?/";
w实际上是R代码吗?@agstudyscore=score++
和str=3设计
没有引号……看起来就像是R和伪代码的混合体me@dickoa的确我误读了,非常感谢。这有助于检查。
regexp_number = "/^[0-9]+.?/";
w <- "aghj 3 Design Features kjkl"
x <- "aghj 3. Design Features kjkl"
y <- "aghj c Design Features kjkl"
z <- "4 aghj c gn Features kjkl"
fun <- function(x) grepl("[[:digit:]]",
regmatches(x,
regexpr(".\\.?(?= Design Features)",x,perl = TRUE)))
fun(w)
[1] TRUE
fun(x)
[1] TRUE
fun(y)
[1] FALSE
fun(z)
[1] logical(0)