| |
|
|
Nico Madysa | Hallöle miteinander!
Ich habe gerade ein wenig mit regulären Ausdrücken experimentiert und bin da auf eine kleine Lücke gestoßen.
Der Ausdruck (a?|s)* ist, wie jede Anleitung erklärt völliger Nonsens. (Eine Kette beliebiger Länge aus a, s und/oder nichts) Dementsprechend gibt Match$ auch kein Ergebnis. Der Ausdruck (a{0,1}|s)*, der inhaltlich haargenau dasselbe wie der obige Ausdruck bedeutet, gibt nicht nichts zurück. Vielmehr stürzt das Programm bei Match$ sang- und klanglos ab. Keine Fehlermeldung, keine Warnung nichts. Weder Errorlevel noch Errorproc haben geholfen.
Daraufhin habe ich folgende Übersicht gewonnen: (a?|s)* -> %MatchLen = 0 (a?|s)+ -> %MatchLen = 0 (a{0,1}|s)* -> Absturz (a{0,1}|s)+ -> Absturz (a??|s)* -> %MatchLen = 0 (a??|s)+ -> %MatchLen = 0 (a{0,1}?|s)* -> Absturz (a{0,1}?|s)+ -> Absturz
Es scheint also kein Einzelfall zu sein. Sollte es im Innern von XProfan möglich sein, dann wäre es hilfreich, wenn hier, wie in jedem anderen Falle, eine Warnung oder gar ein Fehler ausgegeben würde.
Gruß,
Nico
PS: Wann werden eigentlich %MatchPos und %MatchLen gleich 0 und wann gleich -1? Bisher konnte ich da noch kein System entdecken. |
|
|
| |
|
|
|
Nico Madysa | Gibts mittlerweile Neues an dieser Front? |
|
|
| |
|
|