Count all successive non-overlapping regex matches
Description
Count all successive non-overlapping regex matches
Usage
<Expr>$str$count_matches(pattern, ..., literal = FALSE)
Arguments
pattern
|
A character or something can be coerced to a string Expr of a valid regex pattern, compatible with the regex crate. |
…
|
These dots are for future extensions and must be empty. |
literal
|
Logical. If TRUE , treat pattern as a literal
string, not as a regular expression.
|
Value
A polars expression
Examples
library("polars")
df <- pl$DataFrame(foo = c("12 dbc 3xy", "cat\\w", "1zy3\\d\\d", NA))
df$with_columns(
count_digits = pl$col("foo")$str$count_matches(r"(\d)"),
count_slash_d = pl$col("foo")$str$count_matches(r"(\d)", literal = TRUE)
)
#> shape: (4, 3)
#> ┌────────────┬──────────────┬───────────────┐
#> │ foo ┆ count_digits ┆ count_slash_d │
#> │ --- ┆ --- ┆ --- │
#> │ str ┆ u32 ┆ u32 │
#> ╞════════════╪══════════════╪═══════════════╡
#> │ 12 dbc 3xy ┆ 3 ┆ 0 │
#> │ cat\w ┆ 0 ┆ 0 │
#> │ 1zy3\d\d ┆ 2 ┆ 2 │
#> │ null ┆ null ┆ null │
#> └────────────┴──────────────┴───────────────┘