Nothing
test_that("single pattern extracted correctly", {
test <- c("one two three", "a b c")
expect_equal(
str_extract_all(test, "[a-z]+"),
list(c("one", "two", "three"), c("a", "b", "c"))
)
expect_equal(
str_extract_all(test, "[a-z]{3,}"),
list(c("one", "two", "three"), character())
)
})
test_that("uses tidyverse recycling rules", {
expect_error(
str_extract(c("a", "b"), c("a", "b", "c")),
class = "vctrs_error_incompatible_size"
)
expect_error(
str_extract_all(c("a", "b"), c("a", "b", "c")),
class = "vctrs_error_incompatible_size"
)
})
test_that("no match yields empty vector", {
expect_equal(str_extract_all("a", "b")[[1]], character())
})
test_that("str_extract extracts first match if found, NA otherwise", {
shopping_list <- c("apples x4", "bag of flour", "bag of sugar", "milk x2")
word_1_to_4 <- str_extract(shopping_list, "\\b[a-z]{1,4}\\b")
expect_length(word_1_to_4, length(shopping_list))
expect_equal(word_1_to_4[1], NA_character_)
})
test_that("can extract a group", {
expect_equal(str_extract("abc", "(.).(.)", group = 1), "a")
expect_equal(str_extract("abc", "(.).(.)", group = 2), "c")
})
test_that("can use fixed() and coll()", {
expect_equal(str_extract("x.x", fixed(".")), ".")
expect_equal(str_extract_all("x.x.", fixed(".")), list(c(".", ".")))
expect_equal(str_extract("\u0131", turkish_I()), "\u0131")
expect_equal(str_extract_all("\u0131I", turkish_I()), list(c("\u0131", "I")))
})
test_that("can extract boundaries", {
expect_equal(str_extract("a b c", ""), "a")
expect_equal(
str_extract_all("a b c", ""),
list(c("a", " ", "b", " ", "c"))
)
expect_equal(str_extract("a b c", boundary("word")), "a")
expect_equal(
str_extract_all("a b c", boundary("word")),
list(c("a", "b", "c"))
)
})
Any scripts or data that you put into this service are public.
Add the following code to your website.
For more information on customizing the embed code, read Embedding Snippets.