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))?)" r-devel archive parsing examples. R svn/git parsing examples. 2020.8.6 data.table::fread version 1.13.0 now gives IDate instead of character, thanks to @MichaelChirico for updating test-CRAN-multiple.R New test for default/specified engine via features that only work with ICU (verbose character classes) and PCRE (recursion). Old test used non-representable characters which did not work on windows (but did work on Ubuntu). 2020.7.1 nc::capture_* functions were using a named argument starting with "s" as the subject argument, which was confusing since the first argument should be the subject, and it is never named. Fixed by removing subject argument and instead taking subject from the first element of ... (in capture_df_names and new subject_var_args function). Various documentation clarifications. 2020.5.16 Clarify some docs. 2020.5.14 Remove big print from vignette 4 comparisons, use str instead. 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.