Wie man GREP dazu bringt, alles zwischen zwei Markierungen abzugleichen, unabhängig davon, ob Forced Line Brake auftritt

Ich frage mich, ob es möglich ist, GREP dazu zu bringen, die Forced Line Brake (FLB) zu "überspringen", während er nach einem bestimmten Schlüsselwort sucht.

Ich habe einen Textrahmen mit mehreren Unternehmen, die in drei Kategorien beschrieben sind:

    1. Company's Name
    2. Website
    3. Short Description.

Jede Kategorie ist im Text durch ihre Markierung (ein Schlüsselwort) am Anfang gekennzeichnet:

    MARKER1 Dreamworks Studios [FLB]
    MARKER2 www_dreamworks_xxx/info/info [FLB]
    MARKER3 company that produces movies [PR]
    MARKER1 Coca-Cola Company [FLB]
    MARKER2 www_cocacola_xxx/info/info [FLB]
    MARKER3 company that produces drinks [PR]
    ...etc.

Jetzt sollte jede dieser drei Kategorien einen separaten CHARACTER STYLE haben, der unter Verwendung von GREP angewendet wird. Ich möchte, dass GREP den Text durchsucht, bis er einen bestimmten Marker findet, und den gewünschten STYLE auf alles anwendet ... bis zum nächsten Marker:

    everything between MARKER1 and MARKER2 should get STYLE1
    everything between MARKER2 and MARKER3 should get STYLE2
    everything between MARKER3 and MARKER1 should get STYLE3

Und das ist ganz einfach ... bis ich mehr FLB-s zwischen den Markierungen verwenden muss:

    MARKER1 Dreamworks [FLB]
    Studios [FLB]
    MARKER2 www_dreamworks_xxx/ [FLB]
    info/info [FLB]
    MARKER3 company that[FLB]
    produces [FLB]
    movies [PR]
    ...etc.

Wenn der Text wie oben aussieht, versagen alle meine Konzepte für GREP-Sätze. Ich bin hier auf diesen nützlichen Satz gestoßen, der gut ist, wenn der Text so aussieht wie im ersten Beispiel (ohne mehrere FLB-s zwischen Markierungen) oder wenn er nur mit einem Stil und einer Kategorie verwendet wird. So verwende ich es, um STYLE1 auf den Textteil der ersten Kategorie anzuwenden:

Apply: 
    STYLE1
to Text: 
    ^.*?((MARKER2)|$)

Aber wenn ich einen ähnlichen Satz mit der nächsten Kategorie verwende (nur die Markierung ändere), funktioniert es nicht richtig. wegen dieser zusätzlichen FLB-s.

Also wiederhole ich meine Frage: Ist es möglich, GREP dazu zu bringen, die Forced Line Brake (FLB) zu "überspringen", wenn es nach einem bestimmten Schlüsselwort sucht?

Antworten (1)

Du brauchst eine Bedingung.

Im Pseudocode:

Wenn dieser Zustand wahr ist (Suche nach Ihrem Schlüsselwort), dann überspringen Sie FLBs

Anders

Springe nicht von FLBs

Und setzen Sie dies wahrscheinlich in eine Schleife, damit es im gesamten Dokument gelöst wird.

Anscheinend hat GREP die Fähigkeit, mit Bedingungen umzugehen ... vielleicht.

In Bezug auf die Logik - ich stimme Ihnen zu. Genauso bin ich auch an dieses Problem herangegangen. Aber WIE um alles in der Welt funktioniert diese Logik in GREP von Indesign? Ich habe im Internet nach GREP-Bedingungsbefehlen gesucht und nichts. Ich habe nur den "OR"-Befehl, den ich in meine Logikstruktur eingebaut habe, und in GREP-Befehle bekommen, aber das hat nicht funktioniert. Können Sie mir direkter helfen? Welche Befehle von GREP sollte ich für diese bedingte Suche nachschlagen? Oder gibt es vielleicht noch eine andere Möglichkeit? Ich habe darüber nachgedacht, einen Satz von 3 ABSATZSTILEN auf einen Textrahmen anzuwenden (mit "nächster Stil"). Was denken Sie?