Hallo seth,
ich habe jetzt mal auf die Schnelle versucht den Begriff "assertion" grob zu definieren.
Der Begriff "assertion" (Aussage) steht nicht für eine konkrete Definition, wie, salopp gesagt, ein Rechteck ist eine geometrische Figur mit vier rechtwinkeligen Seiten. Ich könnte natürlich auch definieren, ein "Ützelprützel" ist eine geometrische Figur mit vier rechtwinkeligen Seiten. Nur gäbe es dann gewisse Kommunikationsschwierigkeiten, wenn ich dir erzählen würde ein Quadrat ist ein "Ützelprützel" ;-)
Er ist also zunächst undefiniert und steht nur für sich selbst, für seine eigene trivale Bedeutung, eine Aussage ist eine Aussage. Das heißt aber nicht, das solch ein trivialer Begriff inhaltslos ist, sondern er bezieht seine Bedeutung aus dem Kontext in dem er verwendet wird. Der Begriff Aussage hat im Kontext eines Polizeiverhörs (Ich mache eine Aussage) eine ganz andere Bedeutung als in einem mathematischen Kontext (die Aussage a=b mit a=1 und b=2 ist falsch).
Die Frage ist also, welche Bedeutung der Begriff Aussage (assertion) im Kontext einer Regulären Sprache besitzt.
Aussage steht nicht für einen definierten Begriff (um das nochmal zu wiederholen), sondern für eine Sichtweise auf ein Muster.
Ein Muster ist eine Aneinanderreihung von Aussagen in Form der Sprachelemente.
Eine Aussage ist dabei durch drei Merkmale gekennzeichnet:
1. wahr oder falsch
2. Eine Richtung in die geprüft wird (look ahead, look behind oder look around)
3. Die Anzahl der Zeichen, die gefressen werden (zero-width, one-width, multiple-width)
Das Syntaxelement »\d« ist eine »one-width look ahead assertion«
Das Syntaxelement »a« (das literale Zeichen*) ist eine »one-width look ahead assertion«
Das Syntaxelement »(?=a)« ist eine »zero-width look ahead assertion«
Und um es etwas aufzupeppen:
Das Muster »(?=(a{2}))\1« ist eine »zero-width look ahead assertion«, gefolgt von einer »two-width look ahead assertion«, zusammen gesehen, handelt es sich um eine »two-width look ahead assertion«
* nicht das konkrete literale Zeichen »a« ist ein Syntaxelement, sondern ein literales Zeichen als solches
Gruß Uwe