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

Re^2: [RFC] Building Regex Alternations Dynamically

by haukex (Archbishop)
on Jan 18, 2017 at 14:03 UTC ( [id://1179851]=note: print w/replies, xml ) Need Help??


in reply to Re: [RFC] Building Regex Alternations Dynamically
in thread Building Regex Alternations Dynamically

Hi LanX,

Thanks for your comments, I'll think about whether I can provide a TL;DR version - my thought was that impatient users could just copy-n-paste my code :-)

IIRC there is a hard limit for the length of a regex-string

I'm not sure, I'll have to look into it, but I do know this works :-)

my $word_regex = do { open my $wfh, '<:utf8', '/usr/share/dict/words' or die $!; chomp( my @words = <$wfh> ); close $wfh; my $re = join '|', map {quotemeta} sort { length $b <=> length $a or $a cmp $b } @words; qr/$re/i }; print length($word_regex), "\n"; __END__ 964836

Thanks,
-- Hauke D

Replies are listed 'Best First'.
Re^3: [RFC] Building Regex Alternations Dynamically
by LanX (Saint) on Jan 18, 2017 at 14:15 UTC
    > > IIRC there is a hard limit for the length of a regex-string

    Maybe not in the string length but for sure in the processing.

    something like /x{33000}/ will result in

    Quantifier in {,} bigger than 32766 in regex; ...

    But that's not exactly relevant for your case :)

    Cheers Rolf
    (addicted to the Perl Programming Language and ☆☆☆☆ :)
    Je suis Charlie!

Log In?
Username:
Password:

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

How do I use this?Last hourOther CB clients
Other Users?
Others exploiting the Monastery: (3)
As of 2024-04-20 01:21 GMT
Sections?
Information?
Find Nodes?
Leftovers?
    Voting Booth?

    No recent polls found