Suchen und ersetzen mit dem regulären Ausdruck \(.*\)

Das Textverarbeitungsprogramm

Moderator: Moderatoren

Shandra

Suchen und ersetzen mit dem regulären Ausdruck \(.*\)

Beitrag von Shandra » So, 03.12.2017 13:08

Ich habe kein ähnliches Thema hier gefunden, obwohl in einem Beitrag schon mal die Frage aufkam, wie man eingeklammerten Text suchen kann. Die Lösung dafür war den regülären Ausdruck \(.*\) zu verwenden. Bei mir ergibt sich dadurch jedoch das Problem, das Writer es nicht immer schafft nicht eingeklammerten Text zwischen zwei eingeklammerten zu erkennen. Als ich nun mit diesem regulären Ausdruck eingeklammerten Text kursiv formatiert habe wurde also auch Text kursiv der nicht eingeklammert ist.
Hier ein Beispiel:

(Grinst breit.) Ja, wirklich. (ab)

Sofern jemand eine Lösung kennt, danke ich schon im Vorraus für alle Antworten.

Benutzeravatar
lorbass
********
Beiträge: 4023
Registriert: Mo, 01.05.2006 21:29
Wohnort: Bonn

Re: Suchen und ersetzen mit dem regulären Ausdruck \(.*\)

Beitrag von lorbass » So, 03.12.2017 20:00

Ja ja, RegEx sind „greedy“ (engl.: gefräßig) :lol:

Mit deinem RegEx suchst du nach einer öffnenden Klammer, der beliebig viele beliebige Zeichen folgen dürfen, bis zur LETZTEN (daher „greedy“) schließenden Klammer: In deinem Text sind das die farbigen Klammern:
(Grinst breit.) Ja, wirklich. (ab)

Versuch's mal mit diesem RegEx  \([^\)]*\)  Damit suchst du nach einer öffnenden Klammer, der bis zum Erreichen einer schließenden Klammer beliebig viele beliebige Zeichen mit Ausnahme einer schließenden Klammer folgen dürfen.

Gruß
lorbass

Gast

Re: Suchen und ersetzen mit dem regulären Ausdruck \(.*\)

Beitrag von Gast » Di, 05.12.2017 15:11

Ich habe nun den Ausdruck \([^\)]*\) versucht und jetzt werden alle eingeklammerten Texte von der Formatierung ausgelassen nach denen noch weiterer Text steht.

Gruß
Shandra

Benutzeravatar
lorbass
********
Beiträge: 4023
Registriert: Mo, 01.05.2006 21:29
Wohnort: Bonn

Re: Suchen und ersetzen mit dem regulären Ausdruck \(.*\)

Beitrag von lorbass » Di, 05.12.2017 18:56

Gast hat geschrieben:
Di, 05.12.2017 15:11
jetzt werden alle eingeklammerten Texte von der Formatierung ausgelassen nach denen noch weiterer Text steht.
Bei meinen Versuchen funktioniert der RegEx ohne Probleme.
 
RegEx geklammerte Passagen.png
RegEx geklammerte Passagen.png (169.48 KiB) 211 mal betrachtet
 
Beachte, dass der für die Suche nach geklammerten Textpassagen  \([^\)]*\)  noch in Klammern zu setzen ist, um den gefundenen Text nach der Umforatierung wieder an Ort und Stelle für den gefundenen Text einzufügen:  (\([^\)]*\)).
(Zur bessern Darstellung habe ich im übrigen den formatierten Text blau statt kursiv gesetzt, was aber völlig unabhängig von der Verarbeitung Regulärer Ausdrücke ist.)

Wichtig außerdem:
LibreOffice Hilfe hat geschrieben: Verwenden von Platzhaltern bei der Textsuche
[…]
Eine Suche, in der Sie einen Regulären Ausdruck verwenden, funktioniert nur innerhalb eines Absatzes. Um mit einem Regulären Ausdruck in mehr als einem Absatz suchen, starten Sie eine getrennte Suche in jedem Absatz.
Wenn du auch mit den Hinweisen nicht weiterkommst, beschreibe bitte genau, wie du vorgehst.

Gruß
lorbass

Antworten

Wer ist online?

Mitglieder in diesem Forum: 0 Mitglieder und 16 Gäste