I don't think anyone has pointed out something which I think Sulferic was confused about, that the \1, \2 etc can
overlap when there are brackets inside brackets.
Here's an example:
$string = 'my name is mister smith';
if($string =~ /(mr\.|mister (\w+))/){
# if the string contains either 'mr.' or
# 'mister', then a space, then some word chars
# matching for instance 'mister jones' but not
# 'hey mister!'
print "surname is $2";
# $1 contains the whole thing, $2 just the surname
}
I came up with this one for an auto-html syntax thing.
Paste the URL and put optional link text after it in brackets.
$text='Learning Perl? http://www.perlmonks.org/ <this> is the place';
$text =~ s!(http://\S+)
(\s+<([^>]+)>)?
!
defined($3)?
qq(<a href="$1">$3</a>):
qq(<a href="$1">$1</a>)
!gex;
print $text;
($_='kkvvttuubbooppuuiiffssqqffssmmiibbddllffss')
=~y~b-v~a-z~s; print
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.