"Or" in regular expressions
You're confusing "or" with concatenation.  Also, In computer science, a string matching a regular expression means that the whole string matches whereas regular expressions used in computer software usually just require some part of the string to match the expression.

A string matches $a^+$ if the whole string is composed of $a$s and nothing else, and there's at least one&nbsp;$a$.  A string matches $bcd^*$ if it consists of a&nbsp;$b$ followed by a&nbsp;$c$ followed by zero or more $d$s and nothing else.

A string matches $a^++bcd^*$ if it matches $a^+$ or it matches $bcd^*$ or if it matches both. However, it's not possible to match both: a string can't be composed entirely of $a$s and also begin with a&nbsp;$b$ and a&nbsp;$c$.

In particular, $aabcdd$ doesn't match $a^++bcd^*$ because it doesn't match $a^+$ (it contains characters that aren't&nbsp;$a$) or match $bcd^*$ (it doesn't even begin with&nbsp;$b$).  However, $aabcdd$ does match $a^+bcd^*$, which is the concatenation of $a^+$ and $bcd^*$.  $bcddaa$ matches neither $a^++bcd^*$ nor $a^+bcd^*$.