Como usar expressões regulares em R

R suporta o conceito de expressões regulares, o que permite a busca por padrões dentro do texto. Você pode nunca ter ouvido falar de expressões regulares, mas você provavelmente está familiarizado com o conceito amplo. Se você já usou um * ou um ? para indicar qualquer letra de uma palavra, então você já usou uma forma de pesquisa de curinga. As expressões regulares apoiar a ideia de wildcards e muito mais.

As expressões regulares permitem três maneiras de fazer um padrão de pesquisa mais geral do que uma expressão única, fixa:

  • Alternativas: Você pode procurar instâncias de um padrão ou de outra, indicada pelo | símbolo. Por exemplo praia | faia partidas tanto praia e faia.

    Em inglês e norte-americanos teclados ingleses, normalmente você pode encontrar o | na mesma tecla barra invertida ().

  • Agrupamento: Você padrões agrupar o uso de parênteses (). Por exemplo, você escrever ser (a | e) CH para encontrar tanto praia e faia.

  • quantificadores: Pode especificar se um elemento no padrão deve ser repetida ou não, adicionando * (Ocorre zero ou muitas vezes) ou + (Ocorre uma ou muitas vezes). Por exemplo, para encontrar ou bach ou faia (De zero ou mais uma e e mas não ambos), você usa b (e * | a *) ch.

Tente os seguintes exemplos. Primeiro, crie uma nova variável com cinco palavras:

> rwords lt; - c ( "bach", "back", "faia", "praia", "negro")

encontrar quer praia ou faia utilizando a correspondência alternativa:

> Grep ( "praia | faia", rwords) [1] 3 4

Isto significa que a cadeia de pesquisa foi encontrado em elementos 3 e 4 do rwords. Para extrair os elementos reais, você pode usar subsetting com colchetes:

> Rwords [grep ( "praia | faia", rwords)] [1] "faia" "praia"

Agora use a regra de agrupamento para extrair as mesmas palavras:

> Rwords [grep ( "ser (a | e) ch", rwords)] [1] "faia" "praia"

Por último, utilizar a modificação quantificador para extrair bach e faia mas não praia:

rwords [grep ( "b (e * | a *) ch", rwords)] [1] "bach" "faia"

Para encontrar mais ajuda em R sobre expressões regulares, veja a página de ajuda ?regexp. Alguns outros grandes recursos para aprender mais sobre as expressões regulares são Wikipedia e, se você pode encontrar um guia de início rápido e tutoriais.

menu