Beefy Boxes and Bandwidth Generously Provided by pair Networks
Clear questions and runnable code
get the best and fastest answer

fibonacci regex

by mauke (Novice)
on Jan 25, 2005 at 13:54 UTC ( #424865=snippet: print w/replies, xml ) Need Help??
Description: Writing your own regex library can help you understand some of the more obscure features of Perl's regexes. :-)
The following regex matches lines consisting of words whose length form the fibonacci sequence 1, 1, 2, 3, 5, 8, 13, etc. Caveat: All words must consist of the same character.

Examples of valid input:
x x xx xxx xxxxx

Ok, it's probably not very useful, but I thought I'd post it anyway.

use warnings;
use strict;

while (<>) {
    print "fibo\n" if /^\s*(?:((?(1)(?(3)(?(2)\2|\3)(\1)|(\S))|\S))\s+
Replies are listed 'Best First'.
Re: fibonacci regex
by TedYoung (Deacon) on Jan 25, 2005 at 15:39 UTC

    Nice, this reminds me of a function to test if a number if prime:

    sub isPrime { ('1' x $_[0]) !~ /^(11+)\1+$/; }

    Ted Young

    ($$<<$$=>$$<=>$$<=$$>>$$) always returns 1. :-)
Log In?

What's my password?
Create A New User
Domain Nodelet?
Node Status?
node history
Node Type: snippet [id://424865]
and the web crawler heard nothing...

How do I use this? | Other CB clients
Other Users?
Others musing on the Monastery: (6)
As of 2022-12-01 09:24 GMT
Find Nodes?
    Voting Booth?