[R-br] Duvida sobre expressões regulares.

Paulo Nogueira Starzynski paulons em gmail.com
Terça Janeiro 7 18:51:37 BRST 2014


Não conhecia esse testador de expressões regulares.
Muito bom!

Abraços,
Paulo Nogueira Starzynski


Em 3 de janeiro de 2014 16:01, Rodrigo Coster <rcoster em gmail.com> escreveu:

> Não sei se são as soluções mais elegantes, mas seguem as minhas sugestões:
>
> # Restringindo o conteúdo do parenteses:
> grep('\\([0-9]{4}.?; ?[0-9]{4}.?\\)', exemplo, value=T) # Explicação:
> http://regex101.com/r/nB6jH4
>
> # Não restringindo o conteúdo do parenteses:
> grep('\\([^\\)]*;.*\\)', exemplo, value=T) # Explicação:
> http://regex101.com/r/dL3sB1
>
> Pra pegar a posição é só trocar o value=T por value=F
>
>
> 2014/1/3 Augusto Ribas <ribas.aca em gmail.com>
>
>> Ola a todos, e feliz ano novo.
>>
>> Suponha que eu tenho o seguinte exemplo:
>>
>> #
>> exemplo<-c("Bursey et al. (2001)", "Bursey et al. (2001)", "Bursey et al.
>> (2001)",
>> "Bursey et al. (2001)", "Martins and Fabio (2005)", "Martins and Fabio
>> (2005)",
>> "Martins and Fabio (2005)", "Vicente et al. (1991)", "Vicente et al.
>> (1991); Martins and Fabio (2005)",
>> "Vicente et al. (1991)", "Vicente et al. (1991); Martins and Fabio
>> (2005)",
>> "Martins and Fabio (2005)", "Martins and Fabio (2005)", "Walton (1935)",
>> "Yamaguti (1958)", "Iannacone (2003a)", "Iannacone (2003a)",
>> "Iannacone (2003a)", "Iannacone (2003a)", "Iannacone (2003a)",
>> "Iannacone (2003a)", "Iannacone (2003a)", "Goldberg and Bursey (2003)",
>> "Goldberg and Bursey (2003)", "Goldberg and Bursey (2003)", "Combes and
>> Laurent (1978)",
>> "Baker (1980a)", "Yamaguti (1961); Sueldo and Ramirez (1976); Baker
>> (1987) ",
>> "Lent and Freitas (1948); Ramirez et al. (1979)", "Ramallo et al.
>> (2007)",
>> "Ramallo et al. (2007)", "Yamaguti (1958)", "Travassos et al. (1969)",
>> "Travassos et al. (1969)", "González and Hamann (2007a; 2007b)"   ,
>> "González and Hamann (2007a; 2007b)"   , "González and Hamann (2007b)"
>> ,
>> "Travassos (1926a)", "Vicente et al. (1991); McAllister et al. (2010b)",
>> "Kloss (1971; 1974)", "Rodrigues et al. (1982); Vicente et al. (1991)",
>> "Walton (1935); Vicente et al. (1991)", "Vicente et al. (1991)",
>> "Walton (1935); Vicente et al. (1991)", "Vicente et al. (1991)",
>> "McAllister et al. (2010b)", "Vicente et al. (1991)", "Vicente et al.
>> (1991)",
>> "Vicente et al. (1991); McAllister et al. (2010b)", "Vicente et al.
>> (1991)"
>> )
>> #
>>
>>
>> Isso esta como uma coluna de um data-frame na verdade.
>> Eu gostaria de fazer uma expressão regular que encontra-se casos
>> como "González and Hamann (2007a; 2007b)", mas não os outros.
>> Então seria algo como abre parenteses, 4 números, uma letra, ponto e
>> virgula, espaço 4 números e uma letra, fecha parenteses.
>> Eu tentei varias coisas e não consegui.
>>
>> Eu imagino que se eu fizer algo para encontrar abre parenteses, ponto e
>> virgula, fecha parenteses, sendo o independente do conteudo dentro do
>> parenteses, basta abrir o parenteses, ter um ponto e virgula e fechar o
>> parenteses, ja resolveria, sendo que o antes do parenteses podem ter
>> qualquer coisas (nome de autores).
>>
>> Então alguém poderia me ajudar a conseguir uma expressão regular que
>> pega-se casos como esse exemplo "González and Hamann (2007a; 2007b)" em que
>> há dois anos e um ponto e virgula dentro do parenteses mas não pegue outros
>> casos?
>>
>> Bem é isso, agradeço desde ja qualquer ajuda :)
>>
>>
>> --
>> Grato
>> Augusto C. A. Ribas
>>
>> Site Pessoal: http://recologia.com.br/<http://augustoribas.heliohost.org>
>> Github: https://github.com/Squiercg
>> Lattes: http://lattes.cnpq.br/7355685961127056
>>
>> _______________________________________________
>> R-br mailing list
>> R-br em listas.c3sl.ufpr.br
>> https://listas.inf.ufpr.br/cgi-bin/mailman/listinfo/r-br
>> Leia o guia de postagem (http://www.leg.ufpr.br/r-br-guia) e forneça
>> código mínimo reproduzível.
>>
>
>
> _______________________________________________
> R-br mailing list
> R-br em listas.c3sl.ufpr.br
> https://listas.inf.ufpr.br/cgi-bin/mailman/listinfo/r-br
> Leia o guia de postagem (http://www.leg.ufpr.br/r-br-guia) e forneça
> código mínimo reproduzível.
>
-------------- Próxima Parte ----------
Um anexo em HTML foi limpo...
URL: <http://listas.inf.ufpr.br/pipermail/r-br/attachments/20140107/49ddb222/attachment.html>


Mais detalhes sobre a lista de discussão R-br