R中的正则表达式,以确定数字出现的频率

R中的正则表达式,以确定数字出现的频率,r,regex,R,Regex,我想检查一个特殊数字(“2020”,整数/年)是否在字符串中出现两次。我试过了,但没用。 谁能帮我 grep(pattern = "2020{2}", x = "DataMW_2029__ForecastMW_2020") 谢谢:-)您可以使用gregexpr测试2020是否出现两次: length(gregexpr("2020", "DataMW_2029__ForecastMW_2020")[[1]]) == 2 #[1] FALSE length(gregexpr("2020", "D

我想检查一个特殊数字(“2020”,整数/年)是否在字符串中出现两次。我试过了,但没用。 谁能帮我

grep(pattern = "2020{2}", x = "DataMW_2029__ForecastMW_2020")

谢谢:-)

您可以使用
gregexpr
测试
2020
是否出现两次:

length(gregexpr("2020", "DataMW_2029__ForecastMW_2020")[[1]]) == 2
#[1] FALSE

length(gregexpr("2020", "DataMW_2020__ForecastMW_2020")[[1]]) == 2
#[1] TRUE
或者使用
regex
测试2次及以上

grepl("(.*2020){2}", "DataMW_2029__ForecastMW_2020")
#[1] FALSE

grepl("(.*2020){2}", "DataMW_2020__ForecastMW_2020")
#[1] TRUE
或精确点击2次:

grepl("^(?!(.*2020){3})(.*2020){2}.*$", "DataMW_2029__ForecastMW_2020", perl=TRUE)
#[1] FALSE
grepl("^(?!(.*2020){3})(.*2020){2}.*$", "DataMW_2020__ForecastMW_2020", perl=TRUE)
#[1] TRUE
grepl("^(?!(.*2020){3})(.*2020){2}.*$", "DataMW_2020__ForecastMW_2020_2020", perl=TRUE)
#[1] FALSE

您可以使用
gregexpr
测试
2020
是否出现两次:

length(gregexpr("2020", "DataMW_2029__ForecastMW_2020")[[1]]) == 2
#[1] FALSE

length(gregexpr("2020", "DataMW_2020__ForecastMW_2020")[[1]]) == 2
#[1] TRUE
或者使用
regex
测试2次及以上

grepl("(.*2020){2}", "DataMW_2029__ForecastMW_2020")
#[1] FALSE

grepl("(.*2020){2}", "DataMW_2020__ForecastMW_2020")
#[1] TRUE
或精确点击2次:

grepl("^(?!(.*2020){3})(.*2020){2}.*$", "DataMW_2029__ForecastMW_2020", perl=TRUE)
#[1] FALSE
grepl("^(?!(.*2020){3})(.*2020){2}.*$", "DataMW_2020__ForecastMW_2020", perl=TRUE)
#[1] TRUE
grepl("^(?!(.*2020){3})(.*2020){2}.*$", "DataMW_2020__ForecastMW_2020_2020", perl=TRUE)
#[1] FALSE

我会使用
stringr::str\u count()


x我会使用
stringr::str\u count()

x