in reply to generate regular expression

I have no idea what you mean by "2 CAC and 2 TTT". Is this in one string? Side by side? Intermixed?

Unless you come up with a language that maps one-to-one to Perl regex, your users are going to be surprised from time to time by your implementation.

Wouldn't it be better to have them use a subset of Perl regex directly?

You could define what this subset is, and let Perl do all of the heavy lifting.

-QM
--
Quantum Mechanics: The dreams stuff is made of

Replies are listed 'Best First'.
Re^2: generate regular expression
by khoueiry (Initiate) on Mar 30, 2006 at 17:10 UTC
    QM,

    sorry for the lack of precision on the motifs distribution .
    the patterns should be intermixed and all the sequence should be treated as one string.
    If you can guide me on cpan modules that may refer to some of my needs it will be sufficient I think.

    Thanks a lot

    Pierre
      I think you missed the point.

      You're asking for a CPAN module to convert "English to Perl Regex". The reason Perl isn't written completely in English is because English is often ambiguous. Just examine this thread -- if we have to ask for clarification, then it's not useful as a regex specification.

      You would be better served by dumping the idea of a module to solve your problem, and train your users. If they can't specify what they want clearly, having it in English or another natural language isn't going to help.

      For example, depending on what you mean by "2 CAC and 2 TTT", this might DWYW:

      ((() = m/(CAC)/g) == 2) and ((()=m/(TTT)/g) == 2)
      But even with the context-sensitive regex engine, it is awkward (and error-prone) to specify this only in a single regex.

      -QM
      --
      Quantum Mechanics: The dreams stuff is made of