Good morrow!

I like your way of generating your regex. While some of us might be quicker to just think a minute, and then write down a fully working regex, your step-by-step way makes sure you don't miss anything. *makes mental note to keep this method in mind*

Using the /o modifier may indeed make for speed, as it allows only one compilation. The variables within your pattern will be interpolated (unless your delimiters are single quotes), and thus your pattern may be recompiled, whenever the pattern operator is evaluated. The /o modifier prevents this recompilation and thus may save time.

You are using qr// with your regex, and then use it standalone-ingly to match against $_. That won't work, because qr//, while specifying a pattern, does not match against anything. Instead, the regex is compiled and returned for future use.

The reason why your $regex1 doesn't match probably lies in what Django stated above. I can't really say, however, why placing your /x at different places would make a difference...

Hope this helps...

--cs

There are nights when the wolves are silent and only the moon howls. - George Carlin


In reply to Re: Improving my regex skills and a few questions. by schumi
in thread Improving my regex skills and a few questions. by BrowserUk

Title:
Use:  <p> text here (a paragraph) </p>
and:  <code> code here </code>
to format your post, it's "PerlMonks-approved HTML":



  • Posts are HTML formatted. Put <p> </p> tags around your paragraphs. Put <code> </code> tags around your code and data!
  • Titles consisting of a single word are discouraged, and in most cases are disallowed outright.
  • Read Where should I post X? if you're not absolutely sure you're posting in the right place.
  • Please read these before you post! —
  • Posts may use any of the Perl Monks Approved HTML tags:
    a, abbr, b, big, blockquote, br, caption, center, col, colgroup, dd, del, details, div, dl, dt, em, font, h1, h2, h3, h4, h5, h6, hr, i, ins, li, ol, p, pre, readmore, small, span, spoiler, strike, strong, sub, summary, sup, table, tbody, td, tfoot, th, thead, tr, tt, u, ul, wbr
  • You may need to use entities for some characters, as follows. (Exception: Within code tags, you can put the characters literally.)
            For:     Use:
    & &amp;
    < &lt;
    > &gt;
    [ &#91;
    ] &#93;
  • Link using PerlMonks shortcuts! What shortcuts can I use for linking?
  • See Writeup Formatting Tips and other pages linked from there for more info.