Regulární výraz

Pachtím se s jedním regulérním výrazem a nemůžu přijít na jednu věc, jak mám vyjádřit "nebo" ?

EregI("^[0-9d]{1,2}$" ,$blbost)

tohle vyhodnotí správně jakýkoliv řetězec který je dlouhý jeden nebo dva znaky a obsahuje čísla 0-9 nebo písmeno d

nemůžu přijít na to jak udělat aby to bylo buď 0-9 NEBO d
tak jak to mam ted to bere třeb 9d 12 d 1 atd...

tak jak se to snažím udělat by to bralo jenom věci jako

99 1 2 8 d
... asi sem to vysvětlil dost blbě zkusim to znova jednoduše:

Potřebuju aby to bralo jenom řetězce které které obsahují jeden nebo dva znaky a to 0-9 a NEBO jenom řetězce které obsahují jeden znak d

díky moc
Zkus to takto:

ereg("(^d{1}$|^[0-9]{1,2}$)",$blbost);
0-9 nebo d
\d|d
[0-9]|d

[0-9]{1,2}|d
[0-9][0-9]|d ... 00-99 / d
[1-9][0-9]|[1-9]|d ... 1-9 / 10-99 / d
<HTML>zbiho reseni je dobry jen bych osobne pouzil zavorkovani (ktery v tomto pripade ale neni podstatny)
ereg("(^d{1}$)|(^[0-9]{1,2}$)",$str);</HTML>
Počkej a chceš regulérní výraz, nebo regulÁrní výraz?
<HTML>2Tom: detailisto :-)</HTML>
regulérní, regulární podle slovníku je to to samý no to je jedno...

díky za pomoc vyřešeno
takže takhle sem to vyřešil, akorát si teda nejsem úplně jistý těma kulatýma závorkama zatím co sem to testoval to funguje přesně jak sem chtěl... mám to gramaticky dobře?

^([0-9]{1,2}|d)\.([0-9]{1,2}|m)\.[0-9]{2,4}$
d{1}
to je naprosta zbytecnost
d{1} = d
regulární je z angličtiny
regulérní je z francouzštiny.
Takže si můžete vybrat.
:-)
^([0-9]{1,2}|d)\.([0-9]{1,2}|m)\.[0-9]{2,4}$
00-99 nebo d
.
00-99 nebo m
.
00-9999 (00-000-0000 - 99-999-9999)
jestli to ma byt datum, pak to vyhovi
00.00.00
00.00.000
cili je dobre pouzit jeste nejaky script na overeni datumu.