Pattern:
"d`?(?!([\\s]*<-))"
String:
"d` <-"
According to R, this is a match:
> grepl("d`?(?!([\\s]*<-))", "d` <-", perl = TRUE)
[1] TRUE
That doesn't make sense to me since the d matches, the (0 or 1) backtick matches. But the " <-" should not be a match?