Beefy Boxes and Bandwidth Generously Provided by pair Networks
Problems? Is your data what you think it is?

Re: Reverse regexp a regexp?

by rubasov (Friar)
on Feb 13, 2010 at 00:50 UTC ( #822965=note: print w/replies, xml ) Need Help??

in reply to Reverse regexp a regexp?

I am also not sure what you exactly want to achieve by your second question, however try this:
#! /usr/bin/perl use strict; use warnings; use Regexp::Assemble; my @urls = qw( ); my $r = Regexp::Assemble->new; for (@urls) { $r->add( quotemeta ); } print $r->re, $/; __END__
output: (?-xism:http:\/\/www\.youtube\.com\/user\/test[12345])

And you may also find valuable the String-Approx distribution from CPAN which implements approximate string matching based on Levenshtein distance.

Hope this helps.

Replies are listed 'Best First'.
Re^2: Reverse regexp a regexp?
by freakingwildchild (Scribe) on Feb 13, 2010 at 23:09 UTC
    Very interesting approach of assembling regexes; although this would not generate the results required when inputting real life data like:

    my @urls = qw( );

    Which returns:

    (?-xism:http:\/\/(?:www\.youtube\.com\/user\/(?:b(?:ianca_sterlings|la +ngo)|jantje|pieter|frida)|youtube\.com\/(?:user\/(?:channel|blah)|cha +nnel\/doesntexist)))

    while it should return roughly: ^http:\/\/(?:www\.)youtube\.com\/user\/(.*)$

    What this module offers is a rather customized approach of how to create regexes on custom user data, for validation; while I'd like to create a regex on public data to extract the right set of data out of a list of url's. Thanks for letting me know this this one; it's a nice toy to play with :D

Log In?

What's my password?
Create A New User
Node Status?
node history
Node Type: note [id://822965]
and all is quiet...

How do I use this? | Other CB clients
Other Users?
Others avoiding work at the Monastery: (9)
As of 2018-03-21 09:26 GMT
Find Nodes?
    Voting Booth?
    When I think of a mole I think of:

    Results (265 votes). Check out past polls.