You actually just need to create multiple validation rules, one for each scenario.
You can enter multiple rules for one attribute. But they will all be run. Unless your regex allows an empty value, both required and regex rule error messages will be shown. This can be prevented by setting required to true and specifying a required message on the input element on your page. You would have to do that on every page. Using a snippet will help reuse and prevent defining the same stuff over and over.