Come mai questa espressione regolare echo ab | egrep "(a*)|(b*)|((a|b)*(ba)(a|b)*)" mi individua la stringa ab?