fork download
  1. pattern <- "(?=([1-]{2}))"
  2. s <- "-1-"
  3. res <- gregexpr(pattern, s, perl=TRUE)
  4. starts <- attr(res[[1]],'capture.start')
  5. lengths <- attr(res[[1]],'capture.length')
  6. ends <- starts + lengths - 1
  7. df_positions <- do.call(rbind, Map(data.frame, start=starts, end=ends, length=lengths))
  8. df_positions
Success #stdin #stdout 0.22s 39900KB
stdin
Standard input is empty
stdout
  start end length
1     1   2      2
2     2   3      2