Beefy Boxes and Bandwidth Generously Provided by pair Networks
The stupid question is the question not asked

Re: Regular Expression Builder

by bart (Canon)
on Aug 30, 2002 at 17:41 UTC ( #194196=note: print w/replies, xml ) Need Help??

in reply to Regular Expression Builder

Just a thought: replace all letters by "A" and all digits by "9". Then apply the Regex::PreSuf thing — or just quotemeta(). And in that result, replace "A" with '\w' and "9" with '\d'.

Intermediate steps, as an example: @foo23  ->  @AAA99  ->  \@AAA99  ->  \@\w\w\w\d\d

Replies are listed 'Best First'.
Re: Re: Regular Expression Builder
by belg4mit (Prior) on Aug 31, 2002 at 01:39 UTC
    Clever, but add the step (actually, merge it with the A9 -> metachar translation):
    s%((?:\\w)+)%'\w{'. length($1)/2 .'}'%eg; ...

    perl -pew "s/\b;([mnst])/'$1/g"

Re: Re: Regular Expression Builder
by BigLug (Chaplain) on Sep 03, 2002 at 04:37 UTC
    I was going to suggest the same thing. This is similar to how the old dBase use to work with its 'patterns' to authenticate data. I can't remember it completely but I'd suggest using extra wildcards to the above:
    • A or a: Any alpha character
    • Z: Uppercase character
    • z: Lowercase character
    • 9: Numeral
    • *: Any string of characters
    • ?: Any single character
    Anything apart from the above would be a literal .. as would escaping the above with a backslash.
    ALSO: Note that /\w/ ne /a-z/i

    These combined would result in:

    USER: @foo29 RE: /\@foo2\d/ USER: @zzz99 RE: /\@[a-z]{3}\d{2}/ USER: @AAA99 RE: /\@[a-zA-Z]\d{2}/ #Note that 'A' becomes #[a-zA-Z] rather than [a-z] with /i #because there may later be a 'z' #in your users pattern :)
    The code for parsing this shouldn't be too hard to create, but I'd suggest wrapping the following comment in at an earlier stage and parsing the users pattern looking for repeats as you go.

Log In?

What's my password?
Create A New User
Node Status?
node history
Node Type: note [id://194196]
and not a whimper to be heard...

How do I use this? | Other CB clients
Other Users?
Others studying the Monastery: (5)
As of 2018-02-25 00:50 GMT
Find Nodes?
    Voting Booth?
    When it is dark outside I am happiest to see ...

    Results (312 votes). Check out past polls.