Hallo!
Wenn ich es richtig sehe, dann möchtest du lediglich die nicht gewählte Option rausbereinigen, richtig? Das wäre auch gleich der erste Tipp: Bitte gib genau bekannt, was du eigentlich erreichen möchtest, ohne dass jemand anders sich das aus deinen Suchstrings (ggf. mühsam) erschließen muss.
Nehmen wir also an, es wäre so. Dann sind deine Abfragen von vornherein unnötig kompliziert resp. umfangreich; konzentriere dich nur auf den Teil des Textes, der wirklich einer Änderung bedarf, also alles zwischen "(tab)...(tab)Ja...Nein". Hintergrund: Suchen/Ersetzen und erst recht GREP ist ohnehin langsam genug, und A durch A zu ersetzen ist nicht nur eine Aktion, die grundsätzlich mit allen Fehlerarten behaftet ist, sondern auch eine, die unnötig Zeit kostet. Und die Strings werden unübersichtlich.
Bei deinem GREP-String ist mir ehrlich gesagt nicht ganz klar, was du überhaupt erreichen willst - das Einzige, was den Ersetzen-String unterscheidet, ist das abschließende Absatzzeichen.
Zum Syntaktischen: In der Original-"findChangeList.txt", zu finden im Skripte-Bedienfeld unter "Anwendung > Samples > JavaScript" steht unter Anderem:
//If you enter backslashes in the findWhat property of the findGrepPreferences object, they must be "escaped"
//as shown in the example below:
//
//{findWhat:"\\s+"}
Hilft das schonmal weiter? Also in Kürze:
- Nur den Text suchen/ersetzen, in dem auch Such- und Ersetz-Vorgänge stattfinden sollen - im Zweifel mit Lookaheads/Lookbehinds Fehler 2. Art minimieren;
- bei GREP-Abfragen via FindChangeByList insbes. o.g. Syntax beachten.
- bei GREP-Suchabfragen immer wenn möglich sinnvoll Gruppen bilden und diese beim Ersetzen referenzieren.
- Wenn Gruppen bei der GREP-Abfrage, dann möglichst, allein schon der Übersichtlichkeit wegen, alles gruppieren.
Und hier noch eine Möglichkeit, die nicht gewählte Option mit nur einer Abfrage per GREP
rauszubereinigen:
Suche nach einem Leerzeichen zwischen den Tabs:
Suche nach: (\t)( )(\t)(Ja|Nein)
Ersetze durch:
Oder: Suche nach "nicht x" zwischen den Tabs:
Suche nach: (\t)([^x])(\t)(Ja|Nein)
Und nicht vergessen, innerhalb der findChangeList.txt die Backslashes zu verdoppeln.
als Antwort auf: [#588170]