[clug] Substring repetition detection
Jepri
jepri at webone.com.au
Wed Jun 25 20:25:16 EST 2003
Or, if you wanted the shortest first repeated substring, then you want:
/(?=((\w+?)\2+))/
this turns foofoofoo into 'foo', rather than 'foofoo' (the longest
repeated substring) like the regexp below.
These answers are courtesy of bart the perlmonk, not me, BTW.
On 2003.06.25 20:04, Jepri wrote:
> Or you could do it with one line of perl:
>
> /((\w+)\2+)/
>
> If you wanted perl to do it all for you then repeated applications of
>
> s/((\w+)\2+)/$1/
>
> should do the trick.
>
>
>
> On 2003.06.25 17:37, David Price wrote:
>> On Wed, Jun 25, 2003 at 05:27:03PM +1000, David Ananian-Cooper wrote:
>> > a b c d a b c d a b z f g
>> > - - - - 4 4 4 4 4 4 - - -
>> >
>> > here 4 >= 6, but the last 2 4's should not be considered as part of
>> the
>> > repeating pattern
>>
>> Good point :)
>>
>> I guess you'd round down to the next lowest multiple of n, where n is
>> 4 in this case.
>>
>> --
>> David.Price at anu.edu.au
>> uni phone: +61-2-612-58608 home phone: +61-2-6251-1597
>>
>>
>
More information about the linux
mailing list