Aureliano, Sobre, \w, \W, \s, \S, mais informações em http://perldoc.perl.org/perlre.html#Regular-Expressions , item Character Classes and other Special Escapes.
Para casar apenas com um A, C, U ou G você deveria usar /[ACUG]/. Para casar com 3 dessas letras acrescente {3} para indicar 'três vezes', assim: / [ACUG]{3}/ No caso da sequências de caracteres com as quais você está trabalhando (que contém sempre apenas essas letras), todas as outras opções abaixo são válidas, mas não necessariamente apropriadas. /.{3}/ - três caracteres quaisquer /\w{3}/ - três letras /\D{3}/ - três não digitos /\S{3}/ - três não espaço /[^vV]{3}/ - três caracteres que não sejam a letra v /[ACUG]{3}/i - três caracteres que sejam A, C, U ou G (podendo ser minúsculas) Quanto às formas de se obter partes de uma sequência de caracteres, eu só tenho o hábito de usar split quando quero remover o delimitador. my $lista_de_numeros = '12,23,34'; my $delimitador = ','; my @numeros = split($delimitador, $lista_de_numeros); Uma outra forma possível de fazer esse mesmo trabalho é: my @codons; # global continue pegando de um a três caracteres (para caso len($ma) mod 3 não dê zero) while ($ma =~ /\G(.{1,3})/gc) { push @codons, $1; } Abraços, Enrique Pessôa ________________________________________________________________ *Enrique Pessôa | Technology Products Manager, Brazil | RR Donnelley | Global Capital Markets* +55 21 2103.0508 | enrique.pes...@rrd.com | +55 21 9.8127.0077 * <http://www.infoinvest.com.br/> | 15 anos de tecnologia para RI | Clique para conferir <https://www.youtube.com/watch?v=gkxxbshF4Ic&feature=youtu.be>* Em 7 de novembro de 2014 12:51, Daniel Vinciguerra < dan.vincigue...@gmail.com> escreveu: > pode usar o split mesmo... > > my @array = split '(\w{3})', $rna; > > > *Daniel Vinciguerra (@dvinciguerra)* > Web solution architect, perl dev, vegetarian, geek and co-founder at > *Bivee* > bivee.com.br - github.com/Bivee > > 2014-11-07 12:03 GMT-02:00 Aureliano Guedes <guedes_1...@hotmail.com>: > > Funcionou, o fato é que ainda não aprendi bem regex então não conhecia o >> \w. Mas compreendi completamente o código. >> Obrigado. >> >> ------------------------------ >> Date: Fri, 7 Nov 2014 11:47:06 -0200 >> From: leprevos...@gmail.com >> To: rio-pm@pm.org >> Subject: Re: [Rio-pm] Dúvida com split >> >> >> Oi Aureliano, >> >> tenta o seguinte: >> >> my @codons = $rna =~ m/\w{3}/g; >> >> abraços >> >> >> On 07-11-2014 11:44, Aureliano Guedes wrote: >> >> Ola monges, >> >> Tenho uma dúvida simples. >> Digamos que eu tenha uma string com uma sequencia de RNA: >> $rna = 'AUGACGAAGCGUUGAUCC'; >> Só hipotético mesmo. >> >> Então quero agrupar de 3 em 3 letras (nucleotídeos) formando codons: >> AUG ACG AAG CGU UGA UCC >> >> Para isso eu acho conveniente colocar em um array, e faço isso usando um >> split >> my @codons = split /condição/, $dna; >> >> O meu problema é na condição, não estou conseguindo uma condição para >> agrupar de 3 em 3 letras já tentei: >> /(A|C|U|G){3}/ >> /(A|C|U|G)(A|C|U|G)(A|C|U|G)/ >> /(d+){3}/ >> /d+\d+\d+\/ >> /d+{3}/ >> /d+d+d+/ >> Ate tentei mexer no split >> my @codons = /(A|U|C|G)/, $rna, 3; >> >> Sei que a dúvida é besta, mas alguém de daria uma luz? >> Obrigado. >> >> >> _______________________________________________ >> Rio-pm mailing listRio-pm@pm.orghttp://mail.pm.org/mailman/listinfo/rio-pm >> >> >> -- >> Felipe da Veiga Leprevost, PhD.www.leprevost.com.br >> Laboratory for Proteomics and Protein Engineering. >> Fiocruz, Brazil. >> >> >> _______________________________________________ Rio-pm mailing list >> Rio-pm@pm.org http://mail.pm.org/mailman/listinfo/rio-pm >> >> _______________________________________________ >> Rio-pm mailing list >> Rio-pm@pm.org >> http://mail.pm.org/mailman/listinfo/rio-pm >> > > > _______________________________________________ > Rio-pm mailing list > Rio-pm@pm.org > http://mail.pm.org/mailman/listinfo/rio-pm >
_______________________________________________ Rio-pm mailing list Rio-pm@pm.org http://mail.pm.org/mailman/listinfo/rio-pm