(\D)? # ist erstmal gierig, greift das "+" ab, und ist damit erfüllt ( \d+ # schnappt sich die "123" direkt nach dem "+", ist damit auch erfüllt ( \.\d+ # Punkt und Ziffern können hier jetzt nicht passen, weil da steht das "A" im Weg )? # Dank des "A" wird getestet, ob es ohne das optionale .\d+ denn passen würde # und das tut es; das optionale .\d+ ist "quasi" der Leerstring zwischen "+123" und "A" ) # Regex Ende ohne Ende-Anker. # Und ohne Ende-Anker ist der Regex somit erfüllt.