I have to validate version number pattern for following examples:
A1 aabc1 AabC134 aabc12.2 aA1.2.3 0.1.1 0.0.2 a.b.c a.1.2 a.0.0 1.0.0 1.0 1
B
I might just use negative lookaheads to assert that the blacklisted version numbers do not appear, and otherwise proceed along the lines of what you are already doing:
^(?!^(?:0|0\.0\.0|000\.000\.000|0000\.00\.00)$)[A-Za-z0-9]+(?:\.[A-Za-z0-9]+){0,2}$
Demo