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 suporta a ideia de wildcards e muito mais.

Video: Tudo sobre expressões regulares com preg match (aula #25)

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 por ocorrências de um padrão ou outro, indicado pelo | símbolo. Por exemplo praia | faia partidas tanto de praia e faia.

    Em inglês e americano 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 de praia e faia.

  • quantificadores: Você especifica se um elemento no padrão deve ser repetido 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 de 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:

gt; rwords lt; - c ("bach", "costas", "faia", "de praia", "Preto")


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

Video: RegEx - O Básico das Expressões Regulares com PHP

gt; grep ("praia | faia", Rwords) [1] 3 4

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

gt; rwords [(grep"praia | faia", Rwords)] [1] "faia" "de praia"

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

Video: Aula 14 - Expressões Regulares - Python Básico Solyd

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

Por fim, use a modificação quantificador para extrair bach e faia mas não de praia:

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

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


Publicações relacionadas