给定一个字符串:
3个设计特征
,我正在尝试使用下面的方法检查“设计特征”之前的术语是否为数字。 (该数字可以2或2存在。)
score=0;
str = <P>3 Design Features</P>
regexp_number = "/^[0-9]+./";
if(str_detect(y,regexp_number) ==TRUE)
{
score=score++;
}
这会返回0.我在这里做错了什么?希望有人可以指出?
提前致谢。 -Simak
答案 0 :(得分:0)
你的正则表达式错了。它表示必须包含要匹配的.
,而不是可选地包含0或1 .
。
将其更改为
regexp_number = "/^[0-9]+.?/";
答案 1 :(得分:0)
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)