It would be useful to have a vignette or similar that summarises the precise differences between the three engines that you're likely to encounter in R. I think most of the differences arise either with character classes (e.g. exactly what does \w or [[:alpha:]] match) or with very advanced features built on top of (?...).