Beefy Boxes and Bandwidth Generously Provided by pair Networks
Come for the quick hacks, stay for the epiphanies.
 
PerlMonks  

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:
v
x x xx xxx xxxxx

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

#!/usr/local/bin/perl
use warnings;
use strict;

while (<>) {
    print "fibo\n" if /^\s*(?:((?(1)(?(3)(?(2)\2|\3)(\1)|(\S))|\S))\s+
+)+\z/;
}
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?
Username:
Password:

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

How do I use this?Last hourOther CB clients
Other Users?
Others avoiding work at the Monastery: (2)
As of 2023-12-10 17:11 GMT
Sections?
Information?
Find Nodes?
Leftovers?
    Voting Booth?
    What's your preferred 'use VERSION' for new CPAN modules in 2023?











    Results (40 votes). Check out past polls.

    Notices?