DekGenius.com
Previous Section  < Day Day Up >  Next Section

B.2 Quantifiers

A quantifier is a metacharacter that tells "how many." You put a quantifier after an item to indicate you want to match that item a certain number of times. Quantifiers are listed in Table B-1.

Table B-1. Quantifiers

Quantifier

How many times

*

Zero or more

+

One or more

?

Optional (zero or one)

{x}

Exactly x

{x,}

At least x

{x,y}

At least x, but no more than y


To use a quantifier, put it immediately after the item you want to quantify. Table B-2 shows some regular expressions with quantifiers.

Table B-2. Quantifier examples

Regular expression

Meaning

Matches

Doesn't match

ba+

b, then at least one a

ba, baa, baaa, rhumba, babar

b, abs, taaa-daaa, celeste

ba+na*s

b, at least one a, n, zero or more a, s

turbans, baanas, rhumbanas!

banana, bananas

ba(na){2}

ba, then na twice

banana, bananas, semi-banana, bananarama

cabana, banarama

ba{2,}ba{3,}

b, then at least two a, then b, then at least three a

baabaaa, baaaaabaaaaa, rhumbaabaaas

baabaa, babaaar, banana

(baa-){2,4}baa

baa- at least two, but not more than four times, then baa

baa-baa-baa, baa-baa-baa-baa-baa, oomp-pa-pa-baa-baa-baa-oomp-pa-pa

baa-baa, baa-baad-news

dogs? and cats?( and chickens?)?

dog, then an optional s, then and cat, then an optional s, then an optional and chicken or and chickens

dog and cat and chicken, dog and cat and chickens, hotdogs and cats, dogs and cat and chickens, dog and cats and chicken, dog and cat and chickensoup

doggies and cats, dogs and cats or chickens, dogss and catss, dog and cat and chickenlegs


Use the ? quantifier to indicate that something is optional, like in the U.S. ZIP Code pattern at the start of this appendix. A syntactically valid ZIP Code can be five digits, or five digits, a hyphen, and four more digits. The hyphen and last four digits are optional. Just like any other quantifier, to make ? apply to the entire optional section, the characters that match the hyphen and digits have to be grouped with parentheses.

    Previous Section  < Day Day Up >  Next Section