# Pattern Matching — like • AMR (for R)
Convenient wrapper around grep to match a pattern: a %like% b. It always returns a logical vector and is always case-insensitive. Also, pattern (b) can be as long as x (a) to compare items of each index in both vectors.

# Pattern Matching

`like.Rd`

Convenient wrapper around `grep` to match a pattern: `a %like% b`. It always returns a `logical` vector and is always case-insensitive. Also, `pattern` (`b`) can be as long as `x` (`a`) to compare items of each index in both vectors.

    like(x, pattern)

    x %like% pattern

## Arguments

x | a character vector where matches are sought, or an object which can be coerced by `as.character` to a character vector. Long vectors are supported.
pattern | character string containing a regular expression (or character string for `fixed = TRUE`) to be matched in the given character vector. Coerced by `as.character` to a character string if possible. If a character vector of length 2 or more is supplied, the first element is used with a warning. Missing values are allowed except for `regexpr` and `gregexpr`.

## Source

Idea from the `like` function from the `data.table` package, but made it case insensitive at default and let it support multiple patterns.

## Value

A `logical` vector

## Details

Using RStudio? This function can also be inserted from the Addins menu and can have its own Keyboard Shortcut like Ctrl+Shift+L or Cmd+Shift+L (see Tools > Modify Keyboard Shortcuts...).

## See also

`grep`

## Examples

    # NOT RUN {
    # simple test
    a <- "This is a test"
    b <- "TEST"
    a %like% b
    #> TRUE
    b %like% a
    #> FALSE

    # also supports multiple patterns, length must be equal to x
    a <- c("Test case", "Something different", "Yet another thing")
    b <- c("case", "diff", "yet")
    a %like% b
    #> TRUE TRUE TRUE

    # get frequencies of bacteria whose name start with 'Ent' or 'ent'
    library(dplyr)
    septic_patients %>%
      left_join_microorganisms() %>%
      filter(genus %like% '^ent') %>%
      freq(genus, species)
    # }