Hallo Martin
Ich habe mich auch noch ein bisschen mit dem Thema Grep/Tabellen beschäftigt. Viel weiter bin ich nicht gekommen. Es scheint unmöglich, nur leere Tabellenzellen zu finden.
Dein Grep (?<!.)^\Z findet allerdings auch das Ende eines Textflusses, wenn ein Absatz mit einer Absatzmarke \r am Ende eines Textflusses steht. Der Platzhalter . in deinem negativen Lookbehind reagiert ja nicht auf das Umbruchzeichen \r.
Um dies auszuschliessen, habe ich folgenden Grep getestet:
(?<!\p{print})^\Z
Auch damit wird neben leeren Tabellenzellen der Einfügepunkt unmittelbar nach einer Tabelle gefunden, wenn dieser am Ende des Textflusses steht. Immerhin konnte ich damit den Einfügepunkt nach einer Absatzmarke am Ende eines Textflusses ausschliessen.
\p{print} entspricht dem Posix [[:print:]] und umfasst fast alle Zeichen (inkl. Umbruchzeichen, Leerraum, \t), also so ähnlich wie \X. Diese Wildcard (\X) funktioniert bei mir allerdings nicht innerhalb des neg. Lookbehinds, deshalb bin ich auf das Posix \p{print} ausgewichen.
Die Posix-Zeichenklasse \p{print} kann übrigens mit \P{print} negiert werden, was mit [[:print:]] nicht möglich ist. Dies gilt natürlich für alle Posix-Zeichenklassen.
Viele Grüsse, Marco
als Antwort auf: [#542685]