I'm not entirely sure what you are saying, but I actually find this puzzle quite interesting.
(O|RM|HHM)* doesn't match "anything", but rather "nothing" or something quite specific. [0]
There are multiple rows in the puzzle where things _can_ match anything, but they are pretty fast limited by the opposing row/column.