This expression will match everything except whatever characters the user specifies in the value parameter. It does this by adding a caret symbol ^ at the beginning of a character set []. Typing a caret after the opening square bracket negates the character class. The result is that the character class matches any character that is not in the character class. Unlike the dot, negated character classes also match (invisible) line break characters. If you don't want a negated character class to match line breaks, you need to include the line break characters in the class.

anything_but(.data = NULL, value)

Arguments

.data

Expression to append, typically pulled from the pipe %>%

value

Characters to not match

References

Character Class: https://www.regular-expressions.info/charclass.html

Examples

anything_but(value = "abc")
#> [1] "(?:[^abc]*)"