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 | find an answer in the thread.) | | | Trevor. |