TODOs Examples: RcppExports fun/arg parsing. capture_melt_multiple(fill=TRUE) for adding NA entries for missing columns? are there any compelling use cases? Should we try to eliminate non-capturing groups when they are not necessary? e.g. below the only thing in the inside non-capturing group is a capturing group, so the inside non-capturing group could be removed. > nc::var_args_list(nc::quantifier(kit=nc::alternatives("PP16", "IP", "P"), "?"))$pattern [1] "(?:(?:(PP16|IP|P))?)" 2020.5.13 tidyr::pivot_longer examples use names_transform (not present in tidyr 1.0.3) instead of names_ptypes which gives an error now for some reason. https://github.com/tidyverse/tidyr/pull/942/files 2020.3.25 fix typo in capture_melt_single example. stop_for_engine tells user to get re2r from github. 2020.3.23 reduce repetition in tests, test_engines defined in a separate inst/test_engines.R file. 2020.2.27 PROVEDit file names example in capture first vignette. alternatives(pattern1, pattern2, ...) generates pattern1|pattern2, with support for named arguments. 2020.2.24 capture_melt_multiple bugfix when "count" is one of the columns to output. 2020.1.16 test for pattern with literal groups. 2019.12.12 time command line example for capture_all_str. more informative error message for capture_first_df. 2019.11.22 quantifier. Do not run emoji examples on Solaris. 2019.10.19 dot prefix now ok for capture_melt_multiple. informative error messages to enforce unique column names in input and output of capture_melt_*. 2019.10.14 capture_first_melt -> capture_melt_single. capture_first_melt_multiple -> capture_melt_multiple. 2019.10.11 new vignettes 3=melt 4=comparison. move unicode data from example to extdata in order to avoid the following on CRAN solaris: Warning in deparse(e[[2L]]) : it is not known that wchar_t is Unicode on this platform 2019.9.28 capture_first_melt_multiple inspired by data.table::patterns. capture_first_melt inspired by tidyr::pivot_longer. Suggest tidyr for who data example. 2019.9.18 additional citation/medline web page data/examples. 2019.9.16 do not do engine tests (with rename library dirs) on CRAN. remove print/str from error messages for CRAN. group, field functions. 2019.9.12 always output data.table. 2019.9.10 test 0 column result via NULL names and rownames, not identical/expected data.frame. 2019.9.4 engine error message includes install.packages. 2019.9.3 dput used for did you mean error message. vignettes separated, 1=first 2=all. 2019.8.22 DESCRIPTION updated. Informative error for named character string patterns. 2019.8.21 main functions renamed to capture_* for auto-complete convenience. on https://github.com/gagolews/stringi/issues/279 it says ICU >= 59 is required for emoji support. but travis uses Ubuntu xenial system ICU (55.1) by default. Ubuntu bionic has ICU 60.2 https://launchpad.net/ubuntu/bionic/+source/icu so travis build will most likely be fixed by telling travis to use bionic. Actually dist: bionic builds use xenial still for language: r, https://travis-ci.community/t/for-dist-bionic-xenial-vm-is-used-instead-with-language-rust/4487/2 So instead we fix the build by making if interactive() for this example, and adding another engine="ICU" example based on http://userguide.icu-project.org/strings/regexp for str_capture_all. docs. vignette. FIXED: needed to escape backslashes in examples. Executing example(vec_capture_first) gives > vec_capture_first( + "a\U0001F60E#", + emoji="\p{EMOJI_Presentation}", Erreur : '\p' est un code escape non reconnu dans une chaîne de caractères débutant ""\p" (but executing the example from C-c C-c in R/vec_capture_first.R works fine) 2019.8.14 first version forked from namedCapture. vec_capture_first, str_capture_all, df_capture_first pass tests for three engines: ICU, PCRE, RE2.