Setting a field to read-only disables any regular expression validation. This is not good behavior though, it allows a user to submit invalid data. We want regular expression validation even when a field is read-only.
Read-only means we do not want the person manually changing the field value and we are not expecting them to input anything into the field, it is done through other means (lookup, calc, etc).
For example, with this email verification field called Emails Match. It is a read-only calculation driven field, but it needs to be a value of Yes before the user can submit.