Not entirely clear what you want and why you need it, even taking into account the clarifications in the comments. But I hope you will be able to understand the structure of expressions and do similar what you need.
Now the structure of the expression is this: there is a check separately by a two-digit number and separately in single digits (separated by "|"). Can choose to double, what ranges of numbers should be. And also separately for clear can also define ranges.
If you want to check for regex101.com by clicking on the link, enter the number in the new row every time because the characters "^" and "$" represent the beginning and the end of the row. Actually, if they are not needed can be removed, but then will most likely need something else. That is, if you need to pull these values from a string, the problem would be stuck in the number (two unambiguous in a row without a space) and other situations - need to resolve separately.