4
我想知道的數字是由1
包圍的。但是,如果有多於一個0
而沒有被1
打斷,它只能算作一個。搜索字符串中的特殊模式:R
string <- "1101000010101111001110"
這是最接近我能做到:
length(gregexpr(pattern ="101",string)[[1]])
預期輸出:
5
我想知道的數字是由1
包圍的。但是,如果有多於一個0
而沒有被1
打斷,它只能算作一個。搜索字符串中的特殊模式:R
string <- "1101000010101111001110"
這是最接近我能做到:
length(gregexpr(pattern ="101",string)[[1]])
預期輸出:
5
隨着gregexpr
,您可以使用前向斷言與perl=True
找到重疊的匹配:
(?=...)
是lookahead assertion:
(?=...)
零寬度陽性預測先行斷言。例如,
/\w+(?=\t)/
匹配一個單詞後跟一個選項卡,不包括$&
中的選項卡。
length(gregexpr("(?=10+1)", string, perl=TRUE)[[1]])
不宜模式是'10 + 1'作爲您正在尋找**超過一個0 **?嘗試一下,讓我知道。 – Rahul
@Rahul感謝當有一個以上的0現在工作。但是當模式重疊時我該怎麼辦? –