Re: Match exactly zero or one

• To: mathgroup at smc.vnet.net
• Subject: [mg60549] Re: Match exactly zero or one
• From: "Jens-Peer Kuska" <kuska at informatik.uni-leipzig.de>
• Date: Tue, 20 Sep 2005 05:19:03 -0400 (EDT)
• Organization: Uni Leipzig
• References: <dgm0ef\$npn\$1@smc.vnet.net>
• Sender: owner-wri-mathgroup at wolfram.com

```Hi,

MatchQ[#, 1 | 0] & /@ {0, 1, 2, 3}

??

Regards

Jens

"Trevor Baca" <trevorbaca at gmail.com> schrieb im
Newsbeitrag news:dgm0ef\$npn\$1 at smc.vnet.net...
| What's the easiest way to match exactly zero or
one expressions within,
| say, MatchQ[ ]?
|
| For example: call any expression expr a
well-formed foo when and only
| when (1) the head of expr equals foo; (2) the
first element of expr is
| either 0 or 1 bar expressions; (3) the last
element of expr is an
| integer. Then neither the  predicate ...
|
|   FooQ[expr_] := MatchQ[expr, foo[_bar,
_Integer]]
|
| ... nor ...
|
|   FooQ[expr_] := MatchQ[expr, foo[__bar,
_Integer]]
|
| ... nor ...
|
|   FooQ[expr_] := MatchQ[expr, foo[___bar,
_Integer]]
|
| ... accurately capture the definition of foo.
|
| For string-matching there's the ? operator; but
what's the best
| approach for expression-matching?
|
| (FWIW Gavin Scott posed this question in
December 2000, but I couldn't