<div dir="ltr">Não conhecia esse testador de expressões regulares.<div>Muito bom!</div><div><br></div><div>Abraços,</div><div>Paulo Nogueira Starzynski</div></div><div class="gmail_extra"><br><br><div class="gmail_quote">Em 3 de janeiro de 2014 16:01, Rodrigo Coster <span dir="ltr"><<a href="mailto:rcoster@gmail.com" target="_blank">rcoster@gmail.com</a>></span> escreveu:<br>
<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div dir="ltr">Não sei se são as soluções mais elegantes, mas seguem as minhas sugestões:<div><br></div><div><div># Restringindo o conteúdo do parenteses:</div>
<div>grep('\\([0-9]{4}.?; ?[0-9]{4}.?\\)', exemplo, value=T) # Explicação: <a href="http://regex101.com/r/nB6jH4" target="_blank">http://regex101.com/r/nB6jH4</a></div>
<div><br></div><div># Não restringindo o conteúdo do parenteses:</div><div>grep('\\([^\\)]*;.*\\)', exemplo, value=T) # Explicação: <a href="http://regex101.com/r/dL3sB1" target="_blank">http://regex101.com/r/dL3sB1</a></div>
</div>
<div><br></div><div>Pra pegar a posição é só trocar o value=T por value=F</div></div><div class="gmail_extra"><br><br><div class="gmail_quote">2014/1/3 Augusto Ribas <span dir="ltr"><<a href="mailto:ribas.aca@gmail.com" target="_blank">ribas.aca@gmail.com</a>></span><br>
<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div><div class="h5"><div dir="ltr"><div>Ola a todos, e feliz ano novo.</div><div><br></div><div>Suponha que eu tenho o seguinte exemplo:</div>
<div><br></div><div>#</div><div>exemplo<-c("Bursey et al. (2001)", "Bursey et al. (2001)", "Bursey et al. (2001)", </div>
<div>"Bursey et al. (2001)", "Martins and Fabio (2005)", "Martins and Fabio (2005)", </div><div>"Martins and Fabio (2005)", "Vicente et al. (1991)", "Vicente et al. (1991); Martins and Fabio (2005)", </div>
<div>"Vicente et al. (1991)", "Vicente et al. (1991); Martins and Fabio (2005)", </div><div>"Martins and Fabio (2005)", "Martins and Fabio (2005)", "Walton (1935)", </div>
<div>"Yamaguti (1958)", "Iannacone (2003a)", "Iannacone (2003a)", </div><div>"Iannacone (2003a)", "Iannacone (2003a)", "Iannacone (2003a)", </div><div>"Iannacone (2003a)", "Iannacone (2003a)", "Goldberg and Bursey (2003)", </div>
<div>"Goldberg and Bursey (2003)", "Goldberg and Bursey (2003)", "Combes and Laurent (1978)", </div><div>"Baker (1980a)", "Yamaguti (1961); Sueldo and Ramirez (1976); Baker (1987) ", </div>
<div>"Lent and Freitas (1948); Ramirez et al. (1979)", "Ramallo et al. (2007)", </div><div>"Ramallo et al. (2007)", "Yamaguti (1958)", "Travassos et al. (1969)", </div><div>
"Travassos et al. (1969)", "González and Hamann (2007a; 2007b)" , </div><div>"González and Hamann (2007a; 2007b)" , "González and Hamann (2007b)" , </div><div>"Travassos (1926a)", "Vicente et al. (1991); McAllister et al. (2010b)", </div>
<div>"Kloss (1971; 1974)", "Rodrigues et al. (1982); Vicente et al. (1991)", </div><div>"Walton (1935); Vicente et al. (1991)", "Vicente et al. (1991)", </div><div>"Walton (1935); Vicente et al. (1991)", "Vicente et al. (1991)", </div>
<div>"McAllister et al. (2010b)", "Vicente et al. (1991)", "Vicente et al. (1991)", </div><div>"Vicente et al. (1991); McAllister et al. (2010b)", "Vicente et al. (1991)"</div>
<div>)</div><div>#</div><div><br></div><div><br></div><div>Isso esta como uma coluna de um data-frame na verdade.</div><div>Eu gostaria de fazer uma expressão regular que encontra-se casos como "González and Hamann (2007a; 2007b)", mas não os outros.</div>
<div>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.</div><div>Eu tentei varias coisas e não consegui.</div><div><br></div><div>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).</div>
<div><br></div><div>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?</div>
<div><br></div><div>Bem é isso, agradeço desde ja qualquer ajuda :)</div><span><font color="#888888"><br clear="all"><div><br></div>-- <br><div dir="ltr"><div>Grato<br>Augusto C. A. Ribas</div>
<div> </div>
<div>Site Pessoal: <a href="http://recologia.com.br/" target="_blank">http://recologia.com.br/</a><a href="http://augustoribas.heliohost.org" target="_blank"></a></div><div>Github: <a href="https://github.com/Squiercg" target="_blank">https://github.com/Squiercg</a></div>
<div>Lattes: <a href="http://lattes.cnpq.br/7355685961127056" target="_blank">http://lattes.cnpq.br/7355685961127056</a><br></div></div>
</font></span></div>
<br></div></div>_______________________________________________<br>
R-br mailing list<br>
<a href="mailto:R-br@listas.c3sl.ufpr.br" target="_blank">R-br@listas.c3sl.ufpr.br</a><br>
<a href="https://listas.inf.ufpr.br/cgi-bin/mailman/listinfo/r-br" target="_blank">https://listas.inf.ufpr.br/cgi-bin/mailman/listinfo/r-br</a><br>
Leia o guia de postagem (<a href="http://www.leg.ufpr.br/r-br-guia" target="_blank">http://www.leg.ufpr.br/r-br-guia</a>) e forneça código mínimo reproduzível.<br></blockquote></div><br></div>
<br>_______________________________________________<br>
R-br mailing list<br>
<a href="mailto:R-br@listas.c3sl.ufpr.br">R-br@listas.c3sl.ufpr.br</a><br>
<a href="https://listas.inf.ufpr.br/cgi-bin/mailman/listinfo/r-br" target="_blank">https://listas.inf.ufpr.br/cgi-bin/mailman/listinfo/r-br</a><br>
Leia o guia de postagem (<a href="http://www.leg.ufpr.br/r-br-guia" target="_blank">http://www.leg.ufpr.br/r-br-guia</a>) e forneça código mínimo reproduzível.<br></blockquote></div><br></div>