2017-03-31 19 views
4

0の数字は1で囲まれています。しかし、0が中断されずに1によって1つだけカウントされる場合、文字列内の特殊パターンを検索する:R

string <- "1101000010101111001110" 

これは私が行うことができるよ最も近い:

length(gregexpr(pattern ="101",string)[[1]]) 

予想される出力:あなたは、重複マッチを見つけるために、perl=Trueで先読みアサーションを使用することができますgregexpr

5 
+1

あなたが1 0以上**以上を探しているようなパターンは、** '10 + 1 'ではないでしょうか?試してみてください。 – Rahul

+0

@Rahulは1つ以上の0があるときには今、それが動作するように感謝します。しかし、パターンが重なっているとどうしますか? –

答えて

9

(?=...)lookahead assertionある:

(?=...)

ゼロ幅の正の先読みアサーション。たとえば、/\w+(?=\t)/は、単語の後にタブが続き、$&にタブを含めずに一致します。

length(gregexpr("(?=10+1)", string, perl=TRUE)[[1]]) 
関連する問題