Open qinwf opened 8 years ago
May 19 - 2016
This package now checks CI on Mac, Linux, and Windows, and the code coverage status is checked by codecov.io.
Add more docs and test cases for new functions and existing functions.
Initial work on the documentation pages https://qinwf.github.io/re2r_doc/ .
All pattern matching routines have been implemented to work in parallel with RcppParallel.
Add split
and locate
methods for pattern matching.
Add show_regex
function to visualize RE2 regular expression.
Use Google Performance Tools to profile the compiled C++ codes. Rewrite some critical code using raw R-C API to avoid the overhead of Rcpp_PreserveObject
and other Rcpp helper functions.
There will be changes now and then. We can test Solaris in the future.
Initial test cases was added.
Use stringi::stri_enc_toutf8
to convert input strings and pattern strings to UTF-8. Changes were landed.
Initial test cases was added.
Change order from (pattern, string)
to (string, pattern)
. Changes were landed.
Changes were landed.
There is one case to take care of. It is that Rcpp exception strings are set to be native encoding instead of UTF-8 encoding, and if a pattern can not be parsed, the error message raised from Rcpp may contain strange characters. To fix it, we can remove Rcpp dependency in the near future.
Now most parts of the code are Rcpp independent, it should be easy to fix.
All pattern matching routines have been implemented, including match
, replace
, detect
, extract
, split
, locate
, and quote
.
Initial test cases was added.
See the proposal.
Make functions accept multiple patterns with multiple strings.
Add more tests cases and improve the test coverage ratio.
Thanks for any help and advice!
@gagolews @tdhock
You're way ahead the timeline! Theoretically, you should now "Look for examples of how regular expressions are used in existing R packages." :stuck_out_tongue: Congrats!
about vectorizing, I think it is mainly necessary to vectorize the subject (not the pattern), since the typical usage is "apply this single regex to this set of subjects"
On the other hand, @qinwf could make the API as much similar to stringi (and hence stringr) as possible. Who knows, maybe re2r will some day be wrapped by stringr too..
Qin,
Congratulations, as you probably already know, the RE2 project has been accepted!