drblove27 has asked for the wisdom of the Perl Monks concerning the following question:
So in attempting to become a totally awesome regexer, I have run into a problem that I am hoping you can assist me with.
Specifically I have the following problem, I have text patterns and strings that I want to count the patterns in, but I want to allow for overlapping patterns in the string. I have hunted around these forums and found some good advice, but I have an additional problem. Here is what I can get:
Now what I really want to do is that instead of putting in the pattern in the search, I would like to pass it as a variable, i.e. something like:my $first_counter = 0; my $second_counter = 0; my $sequence = "GGGGGGGAGAAAAAAAAAAAAAAAGAAGGA"; # This is what I initially did, but did not get the right answer $first_counter++ while $sequence =~/AAAAA/g; #Here I get 3 # Because I want to count the overlapping AAAAA in the sequence I hunt +ed around and found this solution $sequence =~ /AAAAA(?{$second_counter++})(?!)/; # This gives the right + answer of 11 print "First counter: $first_counter\n"; print "Second counter: $second_counter\n";
When I run the above I get the following error message (which I admit I do not understand):my @real_count = (0,0,0,0); my $sequence = "GGGGGGGAGAAAAAAAAAAAAAAAGAAGGA"; my @pattern; $pattern[0] = "AAAAA"; $pattern[1] = "GGGGG"; $pattern[2] = "GGAGA"; $pattern[3] = "GAAGG"; for (my $i=0; $i <= 3; $i++) { $sequence =~ /$pattern[$i](?{$real_count[$i]++})(?!)/; } foreach (@real_count) { print "$_\n"; }
"Eval-group not allowed at runtime, use re 'eval' in regex m/AAAAA(?{$real_count$i++})(?!)/ at E:\Bioreka\Test\multimatch.pl line 13."
Can anyone help point me to how to address this error? I would appreciate it. Thanks in advance.
|
|---|
| Replies are listed 'Best First'. | |
|---|---|
|
Re: Regex KungFu help needed
by kennethk (Abbot) on Oct 02, 2009 at 14:49 UTC | |
by johngg (Canon) on Oct 02, 2009 at 15:12 UTC | |
by AnomalousMonk (Archbishop) on Oct 02, 2009 at 22:59 UTC | |
by johngg (Canon) on Oct 03, 2009 at 11:03 UTC | |
by grizzley (Chaplain) on Oct 05, 2009 at 07:17 UTC | |
by Anonymous Monk on Oct 02, 2009 at 18:25 UTC | |
|
Re: Regex KungFu help needed
by moritz (Cardinal) on Oct 02, 2009 at 14:27 UTC | |
by ikegami (Patriarch) on Oct 02, 2009 at 15:02 UTC | |
by moritz (Cardinal) on Oct 02, 2009 at 15:19 UTC | |
by Anonymous Monk on Oct 02, 2009 at 17:18 UTC | |
|
Re: Regex KungFu help needed
by ELISHEVA (Prior) on Oct 02, 2009 at 14:57 UTC | |
|
Re: Regex KungFu help needed
by BioLion (Curate) on Oct 02, 2009 at 14:51 UTC |