Es sind auch noch andere Fehler enthalten, die Routine versagt z.B. am Ende des Strings oder bei Tabs statt Leerzeichen. Auch ist das Stringzusammengefüge nicht gerade das Schnellste.
Und kürzer als per Regex wird es wahrscheinlich nicht möglich sein
.