Another useful thing would be able to match a certain number of characters that matched a certain criteria.
There are two types of searches you can do when you're dealing with quantifiers: greedy or nongreedy, or in
other terms maximal, and minimal. A maximal or greedy search tries to match as many characters as it can
while still returning a true value. So if we were looking for 1 to 4 b's in a row and had
a string with 3 b's in a row we would match the 3 b's. If it was a minimal or nongreedy search only
the first b would be matched.
Here's a table that sums up quantifiers.
Greedy | Nongreedy | Allowed numbers for a match |
? | ?? | 0 or 1 time |
+ | +? | 1 or more times |
* | *? | 0 or more times |
{i} | {i}? | exactly i times |
{i,} | {i,}? | i or more times |
{i,j} | {i,j}? | at lease i times and at most j times |
Obviously Perl needs to know what these quantifiers are referring to. The quantifier is associated with the
character directly to its left unless parentheses are used for grouping.
/b{3}/ #matches three b's
/(ha){3}/ #matches hahaha
Onto Character Class Abbreviations
-
Are you posting in the right place? Check out Where do I post X? to know for sure.
-
Posts may use any of the Perl Monks Approved HTML tags. Currently these include the following:
<code> <a> <b> <big>
<blockquote> <br /> <dd>
<dl> <dt> <em> <font>
<h1> <h2> <h3> <h4>
<h5> <h6> <hr /> <i>
<li> <nbsp> <ol> <p>
<small> <strike> <strong>
<sub> <sup> <table>
<td> <th> <tr> <tt>
<u> <ul>
-
Snippets of code should be wrapped in
<code> tags not
<pre> tags. In fact, <pre>
tags should generally be avoided. If they must
be used, extreme care should be
taken to ensure that their contents do not
have long lines (<70 chars), in order to prevent
horizontal scrolling (and possible janitor
intervention).
-
Want more info? How to link
or How to display code and escape characters
are good places to start.
|