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

Augusto Ribas ribas.aca em gmail.com
Sexta Janeiro 3 15:48:44 BRST 2014


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
-------------- Próxima Parte ----------
Um anexo em HTML foi limpo...
URL: <http://listas.inf.ufpr.br/pipermail/r-br/attachments/20140103/d2587a39/attachment.html>


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