Well George I came up with the same number of 'patterns' but I didnt need a regex. I thought you might like to see it:
my $s='helloworldhellohellohihellohiworld';
#determine every substring in the original
my %hash;
for my $i (0..length($s)-1) {
$hash{substr($s,$i,$_)}++
for (1..length($s)-$i);
}
#filter out singles and the chars
%hash=map {
($hash{$_}>1 && length($_)>1)
? ($_,$hash{$_})
:()
} keys %hash; #yes this is how i format maps
#and ternary ops.. :-)
#print the results
use Data::Dumper;
print Dumper(\%hash);
Id love to know how the OP wanted the computer to tell that 'hello' is a word but 'elloh' isnt... (forgetting real english words that are embedded like 'low' 'el' 'hell')
Incidentally get the following results (reformatted):
el,ell,ello,elloh,ellohi,
he,hel,hell,hello,helloh,hellohi,hi,
ld,ll,llo,lloh,llohi,lo,loh,lohi,
oh,ohi,or,orl,orld,
rl,rld,wo,wor,worl,world
I have a feeling there isn't really a way to do what the OP wants to do. Its not really prefix matching, nor suffix matching....
To the OP what should happen here if said 7 words?
'hellohiothellobrakerakerashash'
Yves
--
You are not ready to use symrefs unless you already know why they are bad. -- tadmc (CLPM)
Update minor bugfixes and challenge to Op
Posts are HTML formatted. Put <p> </p> tags around your paragraphs. Put <code> </code> tags around your code and data!
Read Where should I post X? if you're not absolutely sure you're posting in the right place.
Please read these before you post! —
Posts may use any of the Perl Monks Approved HTML tags:
- a, abbr, b, big, blockquote, br, caption, center, col, colgroup, dd, del, div, dl, dt, em, font, h1, h2, h3, h4, h5, h6, hr, i, ins, li, ol, p, pre, readmore, small, span, spoiler, strike, strong, sub, sup, table, tbody, td, tfoot, th, thead, tr, tt, u, ul, wbr
Outside of code tags, you may need to use entities for some characters:
| |
For: |
|
Use: |
| & | | & |
| < | | < |
| > | | > |
| [ | | [ |
| ] | | ] |
Link using PerlMonks shortcuts! What shortcuts can I use for linking?
See Writeup Formatting Tips and other pages linked from there for more info.