| regextr2 | R Documentation |
regextr2 and gregextr2 extract, respectively, first and all
(i.e., globally) occurrences of a pattern.
Their replacement versions substitute the matching substrings with
new content.
regextr2(
x,
pattern,
...,
ignore_case = FALSE,
fixed = FALSE,
capture_groups = FALSE
)
gregextr2(
x,
pattern,
...,
ignore_case = FALSE,
fixed = FALSE,
capture_groups = FALSE
)
regextr2(x, pattern, ..., ignore_case = FALSE, fixed = FALSE) <- value
gregextr2(x, pattern, ..., ignore_case = FALSE, fixed = FALSE) <- value
x |
character vector whose elements are to be examined |
pattern |
character vector of nonempty search patterns |
... |
further arguments to |
ignore_case |
single logical value; indicates whether matching should be case-insensitive |
fixed |
single logical value;
|
capture_groups |
single logical value; whether matches individual capture groups should be extracted separately |
value |
character vector (for |
Convenience functions based on gregexpr2
and gsubstrl (amongst others).
Provided as pipe operator-friendly alternatives
to [DEPRECATED] regmatches and
[DEPRECATED] strcapture.
They are fully vectorised with respect to x,
pattern, and value.
Note that, unlike in gsub2,
each substituted chunk can be replaced with different content.
However, references to matches to capture groups cannot be made.
capture_groups is FALSE,
regextr2 returns a character vector and
gregextr2 gives a list of character vectors.
Otherwise, regextr2 returns a list of character vectors,
giving the whole match as well as matches to the individual capture groups.
In gregextr2, this will be a matrix with as many columns
as there are matches.
Missing values in the inputs are propagated consistently.
In regextr2, a no-match is always denoted with NA
(or series thereof). In gregextr2, the corresponding result is
empty (unless we mean a no-match to an optional capture group within
a matching substring). Note that this function distinguishes
between a missing input and a no-match.
Their replacement versions return a character vector.
These functions preserve the attributes of the longest inputs (unless they are dropped due to coercion).
The official online manual of stringx at https://stringx.gagolewski.com/
Related function(s): paste, nchar,
strsplit, gsub2
grepl2, gregexpr2, gsubstrl,
x <- c(aca1="acacaca", aca2="gaca", noaca="actgggca", na=NA)
regextr2(x, "(?<x>a)(?<y>cac?)")
gregextr2(x, "(?<x>a)(?<y>cac?)")
regextr2(x, "(?<x>a)(?<y>cac?)", capture_groups=TRUE)
gregextr2(x, "(?<x>a)(?<y>cac?)", capture_groups=TRUE)
# substitution - note the different replacement strings:
`gregextr2<-`(x, "(?<x>a)(?<y>cac?)", value=list(c("!", "?"), "#"))
# references to capture groups can only be used in gsub and sub:
gsub2(x, "(?<x>a)(?<y>cac?)", "{$1}{$2}")
regextr2(x, "(?<x>a)(?<y>cac?)") <- "\U0001D554\U0001F4A9"
print(x) # x was modified 'in-place'
Add the following code to your website.
For more information on customizing the embed code, read Embedding Snippets.