I am not sure that you are making this harder than it is. If you always have an end marker following a start marker than it is trivial. If on the other hand, you may see something like:
"start b2 start b2 end start b2 b2 end"
then the only way I see to do it would be to use functions like index and substr to iterate over the string removing pieces of it until it is in the form you want before regex'ing it.
If on the slight chance you will always see a start marker, some text that does NOT include another start marker, and then an end marker, you can simply do this:
my $str = "start b2 end start b2 b2 end start b2 end";
if ($str =~ /.*start((.*?b2.*?b2).*?)end/) {
print "$1 is between \"start\" and \"end\"\n";
}
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: |
| & | | & |
| < | | < |
| > | | > |
| [ | | [ |
| ] | | ] |
Link using PerlMonks shortcuts! What shortcuts can I use for linking?
See Writeup Formatting Tips and other pages linked from there for more info.