in reply to Re: Pattern Matching With Regular Expressions
in thread Pattern Matching With Regular Expressions
This still returns only one match per $term. I still don't understand how to "rewind" the file. @before and @after just put text around the matches, kinda like a search engine format.sub findtext { @filenumbers = @_; foreach $number(@filenumbers) { push @filenumbers2, split(/\W/, $number); } foreach $number(@filenumbers2) { chomp $number; if( defined $number ) { open(FILE,"/home/jroberts/$number.txt") or die "$!"; while(<FILE>) { for $term(@inputs) { next unless (/\b($term)\b/i); push @before, split(' ', $`); @before = reverse(@before); @before = splice(@before, 0, 7); @before = reverse(@before); push @after, split(' ', $'); @after = splice(@after, 0, 7); if(exists $results{$number}) { $existing = $results{$number}; $results{$number} = $existing . "... @before" . "<b>$1</b> +" . "@after ..."; } else { $results{$number} = "$url... @before" . "<b>$1</b>" . "@af +ter "; } @before = undef; @after = undef; next; } } close(FILE); print "Match found in $number.txt\n"; @fulltext = $results{$number}; print "@fulltext\n"; } else { next; } next; } }
|
|---|
| Replies are listed 'Best First'. | |
|---|---|
|
Re: Re: Pattern Matching With Regular Expressions
by graff (Chancellor) on Apr 13, 2004 at 04:48 UTC | |
by Anonymous Monk on Apr 13, 2004 at 05:01 UTC | |
by graff (Chancellor) on Apr 13, 2004 at 05:55 UTC | |
by Anonymous Monk on Apr 28, 2004 at 03:00 UTC | |
by graff (Chancellor) on Apr 28, 2004 at 03:50 UTC |