perltutorial
root
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.<BR>
<BR>
Here's a table that sums up quantifiers.<BR>
<BR>
<TABLE border=1>
<TR><TD><B>Greedy</B></TD><TD><B>Nongreedy</B></TD><TD><B>Allowed numbers for a match</B></TD></TR>
<TR><TD>?</TD><TD>??</TD><TD>0 or 1 time</TD></TR>
<TR><TD>+</TD><TD>+?</TD><TD>1 or more times</TD></TR>
<TR><TD>*</TD><TD>*?</TD><TD>0 or more times</TD></TR>
<TR><TD>{i}</TD><TD>{i}?</TD><TD>exactly i times</TD></TR>
<TR><TD>{i,}</TD><TD>{i,}?</TD><TD>i or more times</TD></TR>
<TR><TD>{i,j}</TD><TD>{i,j}?</TD><TD>at lease i times and at most j times</TD></TR>
</TABLE><BR><BR>
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.<BR>
<BR>
<PRE><CODE>
/b{3}/ #matches three b's
/(ha){3}/ #matches hahaha
</CODE></PRE>
Onto [Character Class Abbreviations]
<BR>